如何检查输入字段是否为空

时间:2013-03-07 10:05:35

标签: jquery

我正在创建一个带输入的表单,如果输入类型为空,则禁用按钮提交但是,如果输入字段的长度为> 0启用提交按钮

<input type='text' id='spa' onkeyup='check()'><br>
<input type='text' id='eng' onkeyup='check()'><br>
<input type='button' id='submit' disabled>

function check() {
  if($("#spa").lenght>0 && $("#eng").lenght>0) {
    $("#submit").prop('disabled', false);
  } else {
    $("#submit").prop('disabled', true);
  }
}

它可以工作,但如果那时我删除了例如仍然启用按钮提交的输入spa的内容

7 个答案:

答案 0 :(得分:42)

使用trim和val。

var value=$.trim($("#spa").val());

if(value.length>0)
{
 //do some stuffs. 
}

val():返回输入的值。

trim():会修剪空白区域。

答案 1 :(得分:19)

使用.val(),它会返回<input>

的值
$("#spa").val().length > 0

你有一个拼写错误,length没有lenght

答案 2 :(得分:7)

由于javascript是动态类型的,而不是像上面那样使用.length属性,你只需将输入值视为布尔值:

var input = $.trim($("#spa").val());

if (input) {
    // Do Stuff
}

您还可以将逻辑提取到函数中,然后通过分配类并使用each()方法,代码更具动态性,例如,如果将来您想要添加另一个输入,则不会; t需要更改任何代码。

因此,不是将函数调用硬编码到输入标记中,而是可以为输入提供一个类,在此示例中为test,并使用:

$(".test").each(function () {
    $(this).keyup(function () {
        $("#submit").prop("disabled", CheckInputs());
    });
});

然后调用以下内容并返回一个布尔值以分配给disabled属性:

function CheckInputs() {
    var valid = false;
    $(".test").each(function () {
        if (valid) { return valid; }
        valid = !$.trim($(this).val());
    });
    return valid;
}

您可以看到我在this JSFiddle.

中提到的所有内容的实例

答案 3 :(得分:4)

为什么不使用:

<script>
$('input').keyup(function(){
if(($('#eng').val().length > 0) && ($('#spa').val().length > 0))
    $("#submit").prop('disabled', false);
else
    $("#submit").prop('disabled', true);
});
</script>

然后删除输入上的onkeyup功能。

答案 4 :(得分:3)

试试这个

$.trim($("#spa").val()).length > 0

它不会将任何空白区域视为正确的值

答案 5 :(得分:2)

如果您在应用程序中使用jquery-validate.js,请使用以下表达式。

if($("#spa").is(":blank"))
{
  //code
}

答案 6 :(得分:2)

如果您决定展开表单,此代码段将处理两个以上的复选框。

$("input[type=text]").keyup(function(){
    var count = 0, attr = "disabled", $sub = $("#submit"), $inputs = $("input[type=text]");  
    $inputs.each(function(){
        count += ($.trim($(this).val())) ? 1:0;
    });
    (count >= $inputs.length ) ? $sub.removeAttr(attr):$sub.attr(attr,attr);       
});

工作示例: http://jsfiddle.net/sr4gq/