这是我的代码无效(它返回true)并且即使出现验证错误也会提交我的表单:
jQuery().ready(function() {
jQuery("#post").validate({
invalidHandler: function(form, validator) {
$("#publish").removeClass("button-primary-disabled");
$('#ajax-loading').hide();
return false;
}
});
});
此代码将返回false正常并按预期工作:
jQuery().ready(function() {
jQuery("#post").validate({
invalidHandler: function(form, validator) {
return false;
}
});
});
为什么不是第一个工作?
编辑1:删除了尾随逗号,但它们不是问题。
编辑2:如果重要,我使用它来验证wordpress管理员中的自定义帖子类型输入表单。仍然没有解释为什么一个有效,另一个没有。 :/
编辑3:看来省略“return false”也和留下它一样。
新问题:如何保留返回无效的默认功能(不提交表单并返回标准错误消息),还要修改我的两个元素?
答案 0 :(得分:0)
通过查看代码,我注意到invalidHandler
函数后面存在语法错误:有一个尾随逗号。
jQuery().ready(function() {
jQuery("#post").validate({
invalidHandler: function(form, validator) {
$("#publish").removeClass("button-primary-disabled");
$('#ajax-loading').hide();
return false;
}
});
});
此外,在遗漏return false
时,表单会做什么?我在文档中没有看到任何关于实际做任何事情的事情。到执行到达这一点时,表单的提交应该已经取消。