2011-11-02 32 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'); 
    });