jqueryvalidationonclick

我有一个jquery validate插件的问题,对我来说没有意义。 任何人都可以看到我的错误在哪里?

这是我的HTML:

Save

这是我的JS

    $('#link').click(function() { $('#form').validate(); if ($('#form').valid()) // check if form is valid { // do some stuff } else { // just show validation errors, dont post } });  

表单永远不会被validation或至少.valid()函数总是返回true但我不明白为什么? 我使用了validate插件多年但不是在这种情况下。

如果您有链接并需要validation表单。 此function也会转到UI选项卡中的下一个选项卡,在每个选项卡中使用表单validation每个选项卡。

 $('.next-tab').click(function() { //if form is valid if ($("#frmSignup").valid()) { //activate next tab $('#signuptabs').tabs('enable', $(this).attr("rel")); //switch to next tab $tabs.tabs('select', $(this).attr("rel")); return false; } }); 

现在解决了。 现在validation器做了我想要的。 JS下面,同样的HTML:

 $(function() { $('#link').click(function() { if ($("input[name=name]").valid() && $("input[name=email]").valid()) { // do some stuff } else { // just show validation errors, dont post } }); }); 

您正在尝试将事件附加到尚未呈现的元素

你必须准备好使用onDOM

 $(function() { $('#link').click(function(){ $('#form').validate(); if ($('#form').valid()) // check if form is valid { // do some stuff } else { // just show validation errors, dont post } }); }); 

$(functionHandler) == $(document).ready(functionHandler);

规则1 :总是认为,DOM必须在你编写的代码之前呈现,这是本网站上最常见的错误……

这个技巧和更多你可以在这个网站上的jquery标签上阅读 , 阅读它

您需要将validation放在“准备好文档”中

 $(document).ready(function(){ $('#form').validate(); });