javascript自动恢复文本框点击清除后的默认文本


Posted in Javascript onJanuary 12, 2016

本文实例介绍了点击文本框清除默认文本离开再恢复的js实例代码,分享给大家供大家参考,具体内容如下

相关知识:

1、onclick事件的定义和用法:
当点击对象的时候会触发此事件。
浏览器支持:
1)、IE浏览器支持此事件。
2)、火狐浏览器支持此事件。
3)、Opera浏览器支持此事件。
4)、谷歌浏览器支持此事件。
5)、safria浏览器支持此事件。
实例代码:

<html>
<head>
<meta charset="gb2312"/>
<title>三水点靠木</title>
<style type="text/css">
div{
 width:100px;
 height:100px;
 background-color:red;
}
</style>
<script type="text/javascript">
window.onload=function(){
 var mydiv=document.getElementById("mydiv");
 mydiv.onclick=function(){
 mydiv.style.backgroundColor="green";
 }
}
</script>
</head>
<body>
 <div id="mydiv"></div>
</body>
</html>

以上代码为div注册onclick事件处理函数,当点击div的时候就会执行此处理函数将div的背景颜色设置为绿色。

2、onblur事件的定义和用法:
当指定对象失去焦点时就会触发此事件。
实例代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>三水点靠木</title>
<style type="text/css">
.mytest{
 background-color:green;
}
</style>
<script type="text/javascript">
window.onload=function(){
 var username=document.getElementById("username");
 username.focus();
 username.onblur=function(){
 username.style.backgroundColor="green";
 }
}
</script>
</head>
<body>
<input type="text" name="username" id="username" />
</body>
</html>

以上代码为input元素的onblur事件绑定事件处理函数,当input元素失去焦点的时候,能够将背景颜色设置为绿色。

接下来是重中之重:点击文本框清除默认文本离开再恢复

很多网站的需要填写的文本框在默认状态下都会给出一个默认的提示语言,当鼠标点击此文本框的时候能够将里面的默认文本清除,当删除输入的文本且焦点离开文本框的时候再将默认的文本写入文本框。
代码如下:

<html>
<head>
<meta charset="gb2312">
<title>点击文本框清除默认值</title>
<script type="text/javascript"> 
window.onload=function()
{
 var username=document.getElementById("username");
 username.onclick=function()
 {
 if(username.value=="请输入您的姓名")
 {
 username.value="";
 this.focus();
 }
 }
 username.onblur=function()
 {
 if(username.value=="")
 {
 username.value="请输入您的姓名";
 }
 }
}
</script>
</head>
<body>
<input type="text" value="请输入您的姓名" id="username" />
</body>
</html>

以上代码实现了我们的要求,当点击文本框的时候能够清除文本框中的内容,如果文本框没有输入任何内容,这个时候鼠标焦点离开文本框的时候,会将文本框的值恢复到默认状态。不过如果密码框肯恩有点麻烦,因为密码框并非显示的明文,解决方案可以参考如何实现在密码框如出现提示语下段内容。

如何实现在密码框如出现提示语:
有时候我们需要在登陆表单有一些提示语言,比如“请输入用户民”和“请输入密码”等语言,至于用户名好说,但是在密码框中出现“请输入密码”这样的语言就有点麻烦了,因为在密码框输入的内容不会以明码显示。如果动态的控制type属性的话就有兼容性问题,如果input已经存在于页面中的话,在IE8和IE8以下浏览器中,type属性是只读的。所以就得想其他办法,代码如下:

<html> 
<head> 
<meta charset="gb2312"> 
<title三水点靠木</title>
<style type="text/css">
#tx{
 width:100px;
}
#pwd{
 display:none;
 width:100px;
}
</style>
<script type="text/javascript"> 
window.onload=function(){
 var tx=document.getElementById("tx");
 var pwd=document.getElementById("pwd"); 
 tx.onfocus=function(){ 
 if(this.value!="密码") 
 return; 
 this.style.display="none"; 
 pwd.style.display="block"; 
 pwd.value=""; 
 pwd.focus(); 
 } 
 pwd.onblur=function(){ 
 if(this.value!=""){
  return; 
 } 
 this.style.display="none"; 
 tx.style.display=""; 
 tx.value="密码"; 
 } 
}
</script> 
</head> 
<body> 
<input type="text" value="密码" id="tx"/> 
<input type="password" id="pwd" /> 
</body> 
</html>

以上代码实现了我们的要求,可以出现明码的提示,当输入密码的时候就是以密码方式输入。
实现的原理非常的简单,在默认状态以type="text"文本框显示,当点击文本框的时候,以type="password"密码框显示,原来显示的文本框隐藏,也就是说做了一个替换而已。

以上就是本文的全部内容,希望对大家的学习javascript程序设计有所帮助。

Javascript 相关文章推荐
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 Javascript
JavaScript 提升运行速度之循环篇 译文
Aug 15 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
JavaScript之引用类型介绍
Aug 10 Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
layui之数据表格--与后台交互获取数据的方法
Sep 29 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
javascript 内存模型实例详解
Apr 18 Javascript
vue 组件简介
Jul 31 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 #Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 #Javascript
js实现字符串和数组之间相互转换操作
Jan 12 #Javascript
js右下角弹出提示框示例代码
Jan 12 #Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 #Javascript
详解WordPress开发中get_current_screen()函数的使用
Jan 11 #Javascript
提升jQuery的性能需要做好七件事
Jan 11 #Javascript
You might like
用PHP读取IMAP邮件
2006/10/09 PHP
PHP文本操作类
2006/11/25 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
js opener的使用详解
2014/01/11 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
python基础教程之匿名函数lambda
2017/01/17 Python
django-allauth入门学习和使用详解
2019/07/03 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
什么是serialVersionUID
2016/03/04 面试题
人事主管岗位职责范本
2013/12/04 职场文书
建材业务员岗位职责
2013/12/08 职场文书
个人求职信范文分享
2013/12/13 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
音乐学专业求职信
2014/07/22 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
教育实习指导教师评语
2014/12/31 职场文书