2011-11-02 41 views
1

我有一個帶有輸入類型文本的表單。像這樣:檢查輸入類型文本填充的時間

<input type="text" placeholder="Voornaam" class="required" title="Voornaam" id="ctl00_ContentPlaceHolder1_tbFirstName" maxlength="255" value="Mike" name="ctl00$ContentPlaceHolder1$tbFirstName"> 

但現在我的問題。通常,文本字段中的文本是灰色的。但是當你完成一個領域。顏色必須是黑色。我如何檢查這與JavaScript?

感謝

+1

您能澄清「已完成」要求的含義嗎?如果這個文本框的值只包含一個字符,那麼這個文本框會被視爲已完成嗎 –

回答

3

我想你的意思是,我們只需要在用戶寫完色域快... 。 如果是的話,那麼你需要使用此算法:

$('#ctl00_ContentPlaceHolder1_tbFirstName').blur(function() { 
    var self = $(this); 
    if (self.val() != "") { 
     self.css('color','black'); // Set black fore color 
    } 
    else { 
     self.css('color','gray'); // Restore code 
    } 
}); 
1

您可以使用.change功能jQuery來改變顏色爲黑色,當用戶類型的東西和光標移出文本字段。

例:

$("input[type='text']").change(function(){ 

    $(this).css('color', 'black'); 
}); 
+0

正確,但我認爲OP的意思是「只有在字段有值時才改變顏色」,所以你需要添加'if(this.value.length> 0)'並在'else'部分改變顏色回灰。 –

0
<input type="text" onblur="changeColor()" placeholder="Voornaam" 
class="required" title="Voornaam" id="ctl00_ContentPlaceHolder1_tbFirstName" 
maxlength="255" value="Mike" name="ctl00$ContentPlaceHolder1$tbFirstName"> 

定義changeColor()函數,這將改變文本的顏色在文本框中。

0

如果您離開輸入字段(模糊處理),則會觸發更改事件。如果你想有即時檢查使用keyup事件:使用ID選擇

$('#ctl00_ContentPlaceHolder1_tbFirstName').bind('keyup', function(){ 
    if (someconditionistrue) $(this).css('color','black'); 
}); 

比屬性選擇

0

這將適用此規則與所需的類的所有元素。

$('.required').blur(function() { 
    if ($(this).val().trim().length == 0) 
     $(this).css('color','black'); 
    else 
     $(this).css('color','gray'); 
    });