【问题标题】:check if any form element are filled检查是否填写了任何表单元素
【发布时间】:2010-12-23 16:53:59
【问题描述】:

我有一个带有输入、复选框、单选按钮、文本区域的表单。 我想用 jquery 检查我的表单的任何元素是否已填写,如果至少填写了一个字段,则可以。 谢谢

【问题讨论】:

    标签: jquery validation forms


    【解决方案1】:
    $("#form_id").submit(function() {
        var filled = false;
        $(this).find("input").each(function() {
            if ($(this).val() != "") {
               filled = true;
            }
        });
        if (filled) { return true; }
        else { // raise an error
               return false; }
    });
    

    基本上,只需遍历输入字段并查看是否有任何不为空。如果 jQuery 提交处理程序返回 true,则表单的默认行为发生(它提交),如果返回 false,则不会发生任何事情。

    【讨论】:

      【解决方案2】:

      你可以试试这样的:

      if ($('input:checked, input[type="text"][value!=""], textarea[value!=""]) {
          // some form field is filled
      }
      

      input:checked 查找选中的复选框或单选按钮,input[type="text"][value!=""] 查找值不是空字符串的文本输入字段,textarea:not(:empty) 选择其中包含一些文本的文本区域(即使这只是空白)。选择器选择所有这些元素,然后.length 检查是否有任何元素被这些检查匹配。

      【讨论】:

      • @codethis 这不在规范中,但是可以,如果需要,可以添加 input[type="password"][value!=""]
      • 您需要测试textareavalue 而不是HTML 内容(假设OP 想要检查用户修改)。用户所做的更改由value 属性反映。
      猜你喜欢
      • 1970-01-01
      • 2016-07-13
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 2018-04-30
      • 1970-01-01
      相关资源
      最近更新 更多