2013-02-28 36 views
0
<asp:TextBox ID="TextBox2" runat="server" value="Your Text here" onfocus=" this.value = '';" onblur="if(this.value == '') ****{ this.value='?????'; }****"></asp:TextBox> 

我想我在文本框中的文字时,我在我能够通过我用的onfocus实现文本框中点击我要消失....消失,在文本框的文字重现

但是,当文本框为空时,我希望先前输入的值出现,如果它是第一次,即如果我以前没有输入任何文本,则应该显示默认值(“Your Text here”)。

例如:我第一次点击文本框并输入值'80',然后再点击文本框,里面的值应该清除,如果我没有输入任何值并单击外部那么'80'应该显示在文本框中而不是'您的文字在这里'。

感谢你。

+0

我认为你正在寻找一个[文字水印](http://stackoverflow.com/questions/7433589/input-with-watermark-css-jquery)。 – Codesleuth 2013-02-28 09:51:16

回答

2

如果你的浏览器支持HTML5:

<input type="text" placeholder="Your Text here" /> 

如果你想支持的浏览器的占位符的属性,默认情况下不支持的话,这里是一个JavaScript回退:

$('[placeholder]').focus(function() { 
    var input = $(this); 
    if (input.val() == input.attr('placeholder')) { 
     input.val(''); 
     input.removeClass('placeholder'); 
    } 
}).blur(function() { 
    var input = $(this); 
    if (input.val() == '' || input.val() == input.attr('placeholder')) { 
     input.addClass('placeholder'); 
     input.val(input.attr('placeholder')); 
    } 
}).blur(); 
+0

当我点击文本框的价值没有得到清除,如果文本框是空的它不显示以前的值,而是它只显示默认的占位符值 – 2013-02-28 10:34:38

0

你可以做这个例子。声明一个全局变量,获取当前值模糊,并点击使其为空值,然后重新分配,如果当前输入为空。

<script src="https://www.google.com/jsapi"></script> 
<script> 
google.load('jquery', '1.3.1'); 
</script> 
<body> 
    <input type="text" value="Your text here" id="test" onclick="clicked();" onblur="outted();"> 
    <script> 
    var pre_value = ''; 
    function clicked(){ pre_value = $('#test').val(); $('#test').val('');} 

    function outted(){ if($('#test').val() == '') $('#test').val(pre_value); } 
    </script> 
</body> 

希望它有助于

+0

你可以告诉我一个替代google.load没有使用.. 。一个简单的jQuery脚本,没有使用google.load函数 – 2013-02-28 11:51:18

+0

@ashutosh:google.load不是代码所必需的。普通的jquery包括将会工作。我添加它使它独立。可以去掉 “”,而是添加通常的jquery脚本包括。 – Hari 2013-03-01 04:49:15