当我没有使用提交按钮时,不会显示jQuery验证错误

时间:2012-03-22 16:11:15

标签: javascript jquery jquery-validate

Check out this jsbin

我有一个带有自定义按钮的表单,通过ajax(不是真正的提交按钮)提交它。 我正在使用jquery-validation来验证表单,并运行validate().checkForm()来验证它。

我的问题是 - 当我这样做时,为什么不显示特定字段的错误消息?当我使用标准提交按钮时,它们显示正常。

编辑:我的例子不包括ajax提交,但只是假装它在那里。

3 个答案:

答案 0 :(得分:1)

因为validate正在侦听提交事件。

如果在click事件中添加$("form").submit();,则会触发它。

http://jsbin.com/avuhed/edit#javascript,html,live

答案 1 :(得分:0)

小猪支持@weezer所说的,你需要将表单提交事件与按钮点击相关联,你还需要将它放在表单中。现在它坐在它外面。对于未来的更新和理智,它将使您的生活更容易将它们组合在一起。

答案 2 :(得分:-1)

jquery验证由标准表单提交触发。

您可能需要将.click处理程序附加到自定义提交按钮,如下所示:

    var isValid = $("#yourForm").valid();

                if(isValid) {
// Do stuff
    }

是的,我有,如果你把:

$("#submit").click(function() { 
    var isValid = $("#form").isValid(); 
    if(isValid) {  
      alert('test'); 
    } 
}); 

而不是您拥有的内容并在表单中移动自定义按钮 ,验证工作正常。 http://jsbin.com/ajeyot/9