JS实现文本框获得焦点,文本框里提示信息自动消失
2012-10-28 17:50
537 查看
在Web页面上,有时我们要在文本输入框里给点提示信息,告诉用户在这个地方该输入什么内容,比如说“请输入评论内容...”等等之类的提示信息,当用户把光标单位在输入框的时候,不应该让用户去清除那些提示信息,我们可以写个脚本来帮我们做这件事情,请看下面的两个例子:
1、给文本框添加触发事件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 value="填写您的生日(1900-01-01)"
onfocus="cls()" onblur="res()">
注意:本例的方法对大部分表单控件都有效,比如多行文本框。
特别提示
运行完整代码,在鼠标第一次单击文本框时该文本框内容将被清空,在文本框外单击时文本框内容将还原回默认值。如果改变了文本框的值,将不再有任何变化
特别说明
本例主要是对象的defaultValue属性和onfocus、onblur事件的应用。
defaultValue 设置或获取对象的初始内容。
onblur 在对象失去输入焦点时触发。
onfocus 当对象获得焦点时触发。
2、用于清除输入框中提示信息的方法
<html>
<head>
<title>对KKKKK的评论</title>
<script type="text/javascript" language="javascript">
var gFlag=true;//全局变量,用于判断是否允许清除文本框内容
//用于清除输入框中提示信息的方法
function clearTip(){
var oTxt=document.getElementByIdx_x_x("textfield");
if(gFlag==true){
oTxt.value="";
gFlag=false;
}
}
</script>
</head>
<body>
<form>
<label>
<textarea name="textfield" cols="40" rows="5" onfocus="clearTip()">请输入对KKKKK的评论......</textarea>
</label>
<p>
<label>
<input type="submit" name="Submit" value="提交">
</label>
</p>
</form>
</body>
</html>
运行上面的示例,可以看到当焦点定位在文本框,提示信息“请输入评论的内容...”将会自动
消失,这里需要注意的是用户可能中途去做其他事情,使得文本框失去焦点,当他重新回来
输入的时候,又获得了焦点,这时会再次触发onfocus事件,调用clearTip方法,把前面输入的
内容清除了,这是我们不希望结果。所以可以设置个全局变量gFlag作为标志位,当清除过一次
文本框的内容之后就改变标志位,不再允许通过clearTip()方法清除文本框的内容。
<input name="adminid" type="text" size="12" style="border:1PX; border:#CCCCCC;color:#CCCCCC" value="请输入验证码" onclick="if(this.value=='请输入验证码')this.value=''" >
1、给文本框添加触发事件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 value="填写您的生日(1900-01-01)"
onfocus="cls()" onblur="res()">
注意:本例的方法对大部分表单控件都有效,比如多行文本框。
特别提示
运行完整代码,在鼠标第一次单击文本框时该文本框内容将被清空,在文本框外单击时文本框内容将还原回默认值。如果改变了文本框的值,将不再有任何变化
特别说明
本例主要是对象的defaultValue属性和onfocus、onblur事件的应用。
defaultValue 设置或获取对象的初始内容。
onblur 在对象失去输入焦点时触发。
onfocus 当对象获得焦点时触发。
2、用于清除输入框中提示信息的方法
<html>
<head>
<title>对KKKKK的评论</title>
<script type="text/javascript" language="javascript">
var gFlag=true;//全局变量,用于判断是否允许清除文本框内容
//用于清除输入框中提示信息的方法
function clearTip(){
var oTxt=document.getElementByIdx_x_x("textfield");
if(gFlag==true){
oTxt.value="";
gFlag=false;
}
}
</script>
</head>
<body>
<form>
<label>
<textarea name="textfield" cols="40" rows="5" onfocus="clearTip()">请输入对KKKKK的评论......</textarea>
</label>
<p>
<label>
<input type="submit" name="Submit" value="提交">
</label>
</p>
</form>
</body>
</html>
运行上面的示例,可以看到当焦点定位在文本框,提示信息“请输入评论的内容...”将会自动
消失,这里需要注意的是用户可能中途去做其他事情,使得文本框失去焦点,当他重新回来
输入的时候,又获得了焦点,这时会再次触发onfocus事件,调用clearTip方法,把前面输入的
内容清除了,这是我们不希望结果。所以可以设置个全局变量gFlag作为标志位,当清除过一次
文本框的内容之后就改变标志位,不再允许通过clearTip()方法清除文本框的内容。
<input name="adminid" type="text" size="12" style="border:1PX; border:#CCCCCC;color:#CCCCCC" value="请输入验证码" onclick="if(this.value=='请输入验证码')this.value=''" >
相关文章推荐
- JS实现文本框获得焦点,文本框里提示信息自动消失
- 实现文本框获得焦点,文本框里提示信息自动消失
- JavaScript学习笔记3--文本框获得焦点,文本框里提示信息自动消失
- JavaScript学习笔记3--文本框获得焦点,文本框里提示信息自动消失
- JavaScript学习笔记3--文本框获得焦点,文本框里提示信息自动消失
- js实现文本框提示,获得焦点消失!
- iOS提示信息的实现与自动消失
- jquery 提示信息显示后自动消失的具体实现
- JS实现在文本框输入时自动弹出相关内容提示
- jQuery实现input文本框内灰色提示文本效果 和 input标签获取焦点是文本框内提示信息清空
- 文本框内默认提示————请输入用户姓名(字体灰色),要求: (1)当文本框获得焦点时,默认提示消失 (2)当文本框失去焦点时,如果没有输入新内容,那么则显示原来的灰色字体内容; 如果有新内容输入则判断,如果长度小于10,则提示“姓名长度应该大于10个字符”
- jQuery实现文本域内提示文字,当鼠标点击进文本域后自动消失,文本域失去鼠标焦点后显示提示文字或显示用户输入的文字。
- js实现浏览器右下角弹出提示信息窗口,几秒后自动关闭
- JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
- js简单实现焦点在TextBox时默认提示字体消失
- JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
- 文本框失去焦点有提示信息,文本框获得焦点清空提示信息,并且字体颜色不同
- Jquery 网站保存信息提示消息实现,提示后自动消失
- ios中提示信息的实现及自动消失
- 文本框获得焦点后文本框内的提示文本消失 失去焦点后如果没有输入再显示提示 转