我正在使用jQuery Validator来验证表单,我想在用户单击“提交”时禁用空白字段,以便服务器不会从空白的输入中接收任何数据。要禁用它们,我使用了以下Javascript:
$(function() {
$("#form1").submit(function() {
$(this).find(":input").filter(function(){ return !this.value; }).attr("disabled", "disabled");
return true; // ensure form still submits
});
});
这是我的问题:假设表单在第一次提交时已经过验证,此代码很有效。但是,如果用户点击提交但未经过验证,则会显示各种必填字段的所有警报以及弹出窗口,但所有输入都被禁用。我怎样才能解决这个问题?如果表单未经过验证并正确提交,我需要知道如何重新启用它们。
答案 0 :(得分:0)
禁用要提交的字段没有意义。相反,您应该首先进行前端验证,以防止在有空字段时提交(并且这些字段必须为空)。
您可以设置一个变量(或函数)来运行验证,只有在它返回true时才提交。这是一个输入的简要示例。
var validate = ($('input').val() == '') ? false : true;
if(validate){
// submit your form
} else {
// throw your errors
}
然后在验证开始时清除错误会很好。