2015-02-06 152 views
0

我想验证我的表单提交使用jqueryvalidation.js。jQuery验证无法正常工作

当我使用这个代码这段时间的验证只能火狐

jQuery.validator.setDefaults({ 

    if(success) 
    { 
     $("#addbusiness").submit(); 
    } 
}); 
$("#addbusiness").validate({ 
    rules: { 
     phone: { 
      required: true, 
      phoneUS: true 
     } 
    } 
}); 

如果我用这个代码,然后验证不工作的所有浏览器

jQuery.validator.setDefaults({ 


    if($("#addevent").valid()) 
{ 
    $("#addevent").submit(); 
} 
}); 
$("#addevent").validate({ 
    rules: { 
     phone: { 
      required: true, 
      phoneUS: true 
     } 
    } 
}); 

我想,如果我的表格无效,则形成无法提交。

+0

请参考[SO标签Wiki页面](http://stackoverflow.com/tags/jquery-validate/info)的基本用法插件和更多信息的链接。 – Sparky 2015-02-06 16:11:49

回答

2

你的这部分代码...

jQuery.validator.setDefaults({ 
    if (success) { 
     $("#addbusiness").submit(); 
    } 
}); 

.setDefaults()方法只能接受一个对象字面(由key:valueoptions as per the author)。如果不打破方法和可能的整个插件,就不能在其中放置JavaScript条件。即使作为一个功能,反正也行不通,因为success在这个上下文中没有被定义为任何东西。

我想如果我的表单无效然后表单无法提交。

如果允许表单提交,那么使用jQuery验证插件就没有意义了。 默认情况下,适当配置时,它会阻止,直到提交表单有效 ...

$(document).ready(function() { 

    $("#addevent").validate({ 
     rules: { 
      phone: { 
       required: true, 
       phoneUS: true 
      } 
     } 
    }); 

}); 

HTML

<form id="addevent"> 
    <input type="text" name="phone" /> 
    <input type="submit" /> 
</form> 

DEMO:http://jsfiddle.net/cLqh4j2v/