asp.net中textbox获得焦点后清空默认文本
asp.net中textbox获得焦点后清空默认文本,关键字搜索等提示性内容的输入:
方法一:
<script type="text/javascript"> function cls() { var obj = document.getElementById('txtKeyword'); obj.style.color = '#000'; with (event.srcElement) if (value == defaultValue) value = "" } function res() { var obj = document.getElementById('txtKeyword'); obj.style.color = 'Gray'; with (event.srcElement) if (value == "") value = defaultValue } </script>
<asp:TextBox ID="txtKeyword" runat="server" Text="请输入关键字" Style="width: 80%; color: Gray"
CssClass="inputcss" onfocus="cls()" onblur="res()">
</asp:TextBox>
如果是含有母版页的页面,上面的textbox无效果。可删除上面的脚本将控件直接改为:
<asp:TextBox ID="txtKeyword" runat="server" Text="请输入关键字" Style="width: 80%; color: Gray"
CssClass="inputcss" onfocus="if(value == defaultValue){value='';this.style.color='#000'}"
onblur="if(!value){value = defaultValue;this.style.color='#999'}" >
</asp:TextBox>
方法二:【转】
作用是,一个文本框,需要输入内容,在没有输入的时候里面有一段提示内容,当点击这个文本框输入的时候,文本框内的内容自动消失。挺简单的一个功能,但是没有想到实现起来还是很麻烦的,在网上找了一段代码,贴上来以备后用。
给文本框添加触发事件onfocus和onblur,调用函数处理。完整代码:
<script>
function cls(){
with(event.srcElement) //捕获触发事件的对象,并设置为以下语句的默认对象
if(value==defaultValue) value="" //如果当前值为默认值,则清空
}
function res(){
with(event.srcElement) //捕获触发事件的对象,并设置为以下语句的默认对象
if(value=="") value=defaultValue //如果当前值为空,则重置为默认值
}
</script>
<input value="填写您的昵称" onfocus="cls()" onblur="res()" />
注意:本例的方法对大部分表单控件都有效,比如多行文本框。
特别提示:运行完整代码,在鼠标第一次单击文本框时该文本框内容将被清空,在文本框外单击时文本框内容将还原回默认值。如果改变了文本框的值,将不再有任何变化。
============================================================================================
或【比较喜欢这个,简单实用】
<input type="text" id="text" name="text" value="默认显示文字" onfocus="if(value == defaultValue){value='';this.style.color='#000'}" onblur="if(!value){value = defaultValue;this.style.color='#999'}" style="width:200px;color:#999999;" />