<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'。
感谢你。
答案 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>
希望有所帮助