我有一些动态生成的表格并具有不同的ID,所以我认为可能会有一些可以验证每个输入的内容,在这里我做了什么

$.fn.isBlank = function() {
    var fields = $("#exp0").serialize()
alert('something');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].value != '') {
            alert('testing');
            return false;
        }
    }
alert('testing2');
    return true;
};


但是上面的脚本不起作用我不知道为什么,即使警报也没有触发

这是完整的jQuery

 $(document).on("submit", "#exp0", function(e){
 e.preventDefault();
var postData = $("#exp0").serialize()
$.fn.isBlank = function() {
    var fields = $("#exp0").serialize()
alert('something');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].value != '') {
            alert('testing');
            return false;
        }
    }
alert('testing2');
    return true;
};
     $.ajax({
     type: "POST",
     url: "/ajax/saveexp",
     data: postData,
      async: false,
      contentType: false,
      processData: false,
      cache: false,
       success: function(msg)
         {
        bootbox.alert('Your Profile has been updated');
                }

      });
  });

最佳答案

主要问题似乎是,您首先序列化表单字段(这将导致一个字符串),然后尝试遍历此字符串中的字段(将不起作用)。

而是直接遍历表单字段。使用jQuery,您可以轻松地做到这一点:

$("#exp0").find("input").each(function () {
    if ($(this).val() === '') { ... }
});


另一个注意事项:定义函数isBlank是不够的,必须在某个地方调用它。
您可以删除声明并直接进行检查。

完整代码:https://jsfiddle.net/vq3y6bok/1/

关于javascript - 如何检查表单中的所有空输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37170788/

10-11 23:29
查看更多