5

可能重复:
使用 jQuery 检查输入是否为空

我有表单和文本框,一旦单击表单按钮,我将如何使用 javascript if else 语句确定这些文本框是否为空。

function checking() {
    var textBox = $('input:text').value;
    if (textBox == "") {
        $("#error").show('slow');
    }
}

提前致谢!

4

3 回答 3

15

通过使用 jQuery 选择器来选择元素,你有一个 jQuery 对象,你应该使用val()方法来获取/设置输入元素的值。

另请注意,:text选择器已弃用,最好修剪文本以删除空白字符。您可以使用$.trim实用程序功能。

function checking() {
    var textBox =  $.trim( $('input[type=text]').val() )
    if (textBox == "") {
        $("#error").show('slow');
    }
}

如果您想使用value属性,您应该首先将 jQuery 对象转换为原始 DOM 对象。您可以使用[index]get方法。

 var textBox = $('input[type=text]')[0].value;

如果你有多个输入,你应该循环它们。

function checking() {
    var empty = 0;
    $('input[type=text]').each(function(){
       if (this.value == "") {
           empty++;
           $("#error").show('slow');
       } 
    })
   alert(empty + ' empty input(s)')
}
于 2012-09-15T12:29:02.953 回答
6

您不能value与 jquery 对象使用val()函数一起使用,但这只会检查选择器返回的第一个文本框。

现场演示

function checking() {    
  var textBox = $('input:text').val();
  if (textBox == "") {
      $("#error").show('slow');
   }
}

您可以附加blur事件并在losing focus from each textbox.

现场演示

$('input:text').blur(function() {    
    var textBox = $('input:text').val();
    if (textBox == "") {
        $("#error").show('slow');
    }
});

submit button根据与 OP 的讨论进行点击验证

​<strong>现场演示

$('#btnSubmit').click(function() { 
     $("#error").hide();    
     $('input:text').each(function(){
       if( $(this).val().length == 0)
          $("#error").show('slow');
    });
});
于 2012-09-15T12:24:29.253 回答
1

试试这个代码:

var textBox = $('input:text').val();

if (textBox==""){ 
  $("#error").show('slow'); 
} 
于 2012-09-15T12:25:39.487 回答