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”应该显示在文本框中,而不是“您的文本”。

感谢您。

4

2 回答 2

2

如果您的浏览器支持 HTML5:

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

如果你想为默认不支持的浏览器支持 placeholder 属性,这里有一个 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();
于 2013-02-28T09:51:38.950 回答
0

你可以像这个例子一样。声明一个全局变量,将当前值设置为 blur 时的值,然后单击使其值为 null,如果当前输入的值为 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>

希望能帮助到你

于 2013-02-28T10:02:27.573 回答