2013-07-23 251 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) == ""; }); 

這也將拿起文本輸入,只是空白。