首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery检查是否所有表单输入都为空

使用jQuery检查是否所有表单输入都为空
EN

Stack Overflow用户
提问于 2012-05-09 21:40:13
回答 6查看 53K关注 0票数 25

我正在尝试验证一个联系人表单,我想创建某种类型的‘表单已完成’消息,一旦每个输入字段都填好了(一些输入是文本框,一些是单选按钮)。

到目前为止,我的代码如下:

代码语言:javascript
复制
$(document).ready(function() {
  $('.form:input').each(function() {
    if ($(this).val() != "") {
      $('.congrats').css("display", "block");
    }
  });
});
代码语言:javascript
复制
p.congrats {
  display: none;
}
代码语言:javascript
复制
<div class="form">
  <input type="text" />
  <br />
  <input type="text" />
</div>
<p class="congrats">Congrats!</p>

http://jsfiddle.net/7huEr/

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-05-09 21:46:05

这应该可以让你开始:

代码语言:javascript
复制
$(document).ready(function() {
    $(".form > :input").keyup(function() {
        var $emptyFields = $('.form :input').filter(function() {
            return $.trim(this.value) === "";
        });

        if (!$emptyFields.length) {
            console.log("form has been filled");
        }
    });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form">
    <input type="text" /><br />
    <input type="text" />
</div>
<p class="congrats"></p>

票数 40
EN

Stack Overflow用户

发布于 2012-05-09 21:47:15

试试这个:

代码语言:javascript
复制
$("#a").on('click',function () {
var bad=0;
 $('.form :text').each(function(){ 
        if( $.trim($(this).val()) == "" ) bad++; 
            
          
    });
    
    if (bad>0) $('.congrats').css("display","block").text(bad+' missing'); 
    else $('.congrats').hide(); 
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form">
    <input type="text" /><br />
    <input type="text" />
</div>
<p class="congrats"></p><input style="width:100px" value="check" id="a" type="button" />

票数 6
EN

Stack Overflow用户

发布于 2014-08-05 02:07:23

它使用了jQuery的serializeArray函数,所以您不必担心检查不同类型的字段或哪些字段符合空字段:

代码语言:javascript
复制
$.fn.isBlank = function() {
    var fields = $(this).serializeArray();

    for (var i = 0; i < fields.length; i++) {
        if (fields[i].value) {
            return false;
        }
    }

    return true;
};
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10517315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档