在Web页面上,有时我们要在文本输入框里给点提示信息,告诉用户在这个地方该输入什么内
容,比如说“请输入评论内容...”等等之类的提示信息,当用户把光标单位在输入框的时候,
不应该让用户去清除那些提示信息,我们可以写个脚本来帮我们做这件事情,请看下面的例子:
<
html
>
< head >
< title > 对XX的评论 </ title >
< script type ="text/javascript" >
var bFlag = true ; // 全局变量,用于判断是否允许清除文本框内容
// 用于清除输入框中提示信息的方法
function clearTip(){
var oTxt = document.getElementById( " txt1 " );
if (bFlag == true ){
oTxt.value = "" ;
bFlag = false ;
}
}
</ script >
</ head >
< body >
< form name ="form1" action =" " method ="post" >
< textarea cols ="50" rows ="20" id ="txt1" onfocus ="clearTip()" > 请输入评论的内容...
</ textarea >< br />
< input type ="button" value ="提交" onclick ="this.disabled=true;this.form.submit()" />
</ from >
</ body >
</ html >
< head >
< title > 对XX的评论 </ title >
< script type ="text/javascript" >
var bFlag = true ; // 全局变量,用于判断是否允许清除文本框内容
// 用于清除输入框中提示信息的方法
function clearTip(){
var oTxt = document.getElementById( " txt1 " );
if (bFlag == true ){
oTxt.value = "" ;
bFlag = false ;
}
}
</ script >
</ head >
< body >
< form name ="form1" action =" " method ="post" >
< textarea cols ="50" rows ="20" id ="txt1" onfocus ="clearTip()" > 请输入评论的内容...
</ textarea >< br />
< input type ="button" value ="提交" onclick ="this.disabled=true;this.form.submit()" />
</ from >
</ body >
</ html >
运行上面的示例,可以看到当焦点定位在文本框,提示信息“请输入评论的内容...”将会自动
消失,这里需要注意的是用户可能中途去做其他事情,使得文本框失去焦点,当他重新回来
输入的时候,又获得了焦点,这时会再次触发onfocus事件,调用clearTip方法,把前面输入的
内容清除了,这是我们不希望结果。所以可以设置个全局变量bFlag作为标志位,当清除过一次
文本框的内容之后就改变标志位,不再允许通过clearTip()方法清除文本框的内容。