我使用以下内容在表单提交后禁用表单上的所有提交按钮,以防止人们双击提交按钮等:
jQuery (function ($) {
$('form').bind ('submit', function () {
$(this).find ('button').attr ('disabled', 'disabled');
});
});
我正在使用jquery.validate,如果发生验证错误,在提交表单时仍然会触发“提交”,因此用户会留下一个有错误的表单,并禁用提交按钮。
如何修改上面的代码以检测表单是否有jquery.validation错误?
答案 0 :(得分:2)
$(function() {
$('form').bind('submit', function() {
$(this).find('input:submit').attr('disabled', true);
});
});
您可以致电$("form").valid()
答案 1 :(得分:0)
在提交按钮点击事件和return false;
手动触发验证,如果出现错误则阻止POST
:
$('#submit').click(function(){ if(!validate()) return false; });
var validate = function() { if($('#txtFirst').val().trim() == '') return false;}
//etc...
答案 2 :(得分:0)
我会说你的更大问题是,“为什么jQuery Validate抛出错误?”解决这个问题,你不必太担心这个问题。理想情况下,您应该从jQuery Validate Submit Handler运行此类事务。
http://docs.jquery.com/Plugins/Validation/validate#options
验证运行后,它会调用submitHandler进行进一步处理。
$("#myForm").validate({
submitHandler: function(form) {
$(form).find ('button').attr ('disabled', 'disabled');
$(form).submit();
}
})