通过javascript禁用输入后重新启用输入,因为它是空的

时间:2015-12-05 03:10:26

标签: javascript forms validation

我正在使用jQuery Validator来验证表单,我想在用户单击“提交”时禁用空白字段,以便服务器不会从空白的输入中接收任何数据。要禁用它们,我使用了以下Javascript:

$(function() {
    $("#form1").submit(function() {
       $(this).find(":input").filter(function(){ return !this.value; }).attr("disabled", "disabled");
  return true; // ensure form still submits
    });
});

这是我的问题:假设表单在第一次提交时已经过验证,此代码很有效。但是,如果用户点击提交但未经过验证,则会显示各种必填字段的所有警报以及弹出窗口,但所有输入都被禁用。我怎样才能解决这个问题?如果表单未经过验证并正确提交,我需要知道如何重新启用它们。

1 个答案:

答案 0 :(得分:0)

禁用要提交的字段没有意义。相反,您应该首先进行前端验证,以防止在有空字段时提交(并且这些字段必须为空)。

您可以设置一个变量(或函数)来运行验证,只有在它返回true时才提交。这是一个输入的简要示例。

var validate = ($('input').val() == '') ? false : true;

if(validate){ 
    // submit your form
} else {
   // throw your errors
}

然后在验证开始时清除错误会很好。