2013-07-23 194 views
0

我正在尝试创建一个允许用户生成CSS代码的工具。此刻,我正在处理输入 - 当用户将文本输入留空时,我想要显示一条消息。我现在的代码似乎并没有这样做,任何想法?检查输入值是否为空

$("#btn-css").click(function() { 
    if($('input').attr(value) = "") { 
     $('#output').append('All boxes must be completed'); 
    } else { 
     $('.preview').attr('style', 'box-shadow: ' + $("#h-value").val() + 'px ' + $("#v-value").val() + 'px ' + $("#blur").val() + 'px ' + $("#spread").val() + 'px #' + $("#colour").val() + ';'); 
     $('#output').append('box-shadow: ' + $("#h-value").val() + 'px ' + $("#v-value").val() + 'px ' + $("#blur").val() + 'px ' + $("#spread").val() + 'px #' + $("#colour").val() + ';'); 
    } 
    }); 
+0

为什么不使用'.val()'而不是'.attr(value)'? (这也是错误的,因为值应该是一个字符串) –

回答

0
$('input').attr(value) 

这将选择整页上的所有的输入元件。

还有@麦克·克里斯滕森说,你至少需要2个等号。

1

使用.val() ... val()做你所说的完全一样的东西..

if($('input').val() == "") { 

检查所有输入..

var inputVallength=$('input').filter(function(){ 
     return this.value=="" 
    }).length; 

if(inputVallength == 0 || inputVallength < $('input').length){ 
$('#output').append('All boxes must be completed'); 
} 
1

它如何选择页面上的所有文本输入,然后将它们过滤为空的。

$("#btn-css").click(function() { 
    var emptyInputs = $('input:text').filter(function() { return this.value == ""; }); 
    if (emptyInputs.length === 0) { 
     // Everything filled in 

    } else { 
     $('#output').append('All boxes must be completed'); 
    } 

}); 

您也可能想要做的:

var emptyInputs = $('input:text').filter(function() { return $.trim(this.value) == ""; }); 

这也将拿起文本输入,只是空白。