如何在jQuery中验证表单中的空输入框

时间:2015-09-13 20:55:07

标签: javascript jquery html forms

我想验证表单中的每个项目,以便在一个空的情况下我想打印一个警告。 因此,我正在使用form.serializeArray()来检查任何可能为空的输入框。但我的代码不起作用。我做得好吗?

这是我的http://tilsalg.dk

3 个答案:

答案 0 :(得分:1)

而不是var form = page.find(..); 使用var form = $(..);

改性.. http://jsfiddle.net/vqr22ebz/6/

但还有另一个问题,你正在为每个空字段调用警报。

答案 1 :(得分:1)

您选择page.find()而不是$('')来选择表单。

建议1:

要改进代码并且无需重复代码,您可以更改代码:

$("#myform").submit(function() {
    var formItems = $(this).serializeArray();

    formItems.forEach(function (i, v) {
      if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
         window.alert("need to fill up all those fields");
      }
    });
});

建议2:

不要弹出太多;您可以指定空的字段。

$("#myform").submit(function() {
    var formItems = $(this).serializeArray();

    formItems.forEach(function (i, v) {
      if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
         $('input[name="' + v.name + '"]').val("This field must not be empty");
      }
    });
});

答案 2 :(得分:1)

.find()方法搜索文档中的指定文本并突出显示匹配项。

您可以进一步简化代码:

$( "#myform" ).submit(function( form ) {
    $(this).serializeArray().forEach(function (i, v) {
      if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
        alert("need to fill up all those fields");
      }
    });
});