消失并在文本框中重新出现文本

时间:2013-02-28 09:49:15

标签: c# javascript jquery asp.net visual-studio-2010

<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”)。 / p>

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

感谢你。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

你可以这样做。声明一个全局变量,在模糊时获取当前值,然后单击使其为值为null,然后重新分配当前输入的值是否为空。

<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>

希望有所帮助