jQuery.validate() 在按钮点击时触发(我只想在提交时触发)

jQuery.validate() firing on button clicks (I want only on submit)

我的表格结尾是这样的:

<input type="submit" name="login" value="Login" class=" btn btn-primary" >    
<a href="register.php" ><button class="btn btn-primary" >Register</button></a>    
<a href="/"><button class="btn btn-primary" >Cancel</button></a>
</form>

然后:

jQuery("form#login").validate({
    submitHandler: function(form) {
        $("#loading").modal();
        form.submit();
    }
});

当您单击登录按钮时,表单会按预期进行验证。但是,表单也会在单击表单中的两个按钮中的任何一个时进行验证。另外这两个按钮只是链接,我需要它们表单中,这样我就可以把它们全部显示在一行中。

可能与 validate() 在 :submit 上触发有关,它是表单中的任何按钮。我如何才能告诉它仅在实际单击提交按钮时验证?

你需要给按钮一个类型='button'

例如

<button class="btn btn-primary" type="button" >Cancel</button>

这是因为,如果不设置,有些浏览器默认为type='submit'.