js修改input的type属性及浏览器兼容问题探讨与解决


Posted in Javascript onJanuary 23, 2013

js修改input的type属性有些限制。当input元素还未插入文档流之前,是可以修改它的值的,在ie和ff下都没问题。但如果input已经存在于页面,其type属性在ie下就成了只读属性了,不可以修改。在ff下仍是可读写属性。

今天遇到个问题,输入框有默认值“密码”,但获得焦点时,“密码”两字会去掉,输入时直接变成”****“的password类型。很明显,一开始的时候,input的类型是text,后来变成了password类型。直观的思路是用js修改input的type类型。但ie下这么做不可行,所以只能换个思路,写两个input,一个text类型,一个password类型,分得监听onfocus和onblur事件。如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>钱运来|qianyunlai.com制作</title> 
</head> 
<style type="text/css"> 
</style> 
<body> 
<input name="" type="text" value="密码" class="inputText_1" id="tx" style="width:100px;" /> 
<input name="" type="password" style="display:none;width:100px;" id="pwd" /> 
<script type="text/javascript"> 
var tx = document.getElementById("tx"), pwd = document.getElementById("pwd"); 
tx.onfocus = function () { 
if (this.value != "密码") 
return; 
this.style.display = "none"; 
pwd.style.display = ""; 
pwd.value = ""; 
pwd.focus(); 
} 
pwd.onblur = function () { 
if (this.value != "") 
return; 
this.style.display = "none"; 
tx.style.display = ""; 
tx.value = "密码"; 
} 
</script> 
</body> 
</html>
Javascript 相关文章推荐
比较全的JS checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
JavaScript地理位置信息API
Jun 11 Javascript
window.open打开窗口被拦截的快速解决方法
Aug 04 Javascript
jQuery.parseHTML() 函数详解
Jan 09 Javascript
jQuery EasyUI Draggable拖动组件
Mar 01 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
详解JS浏览器事件循环机制
Mar 27 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 #Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 #Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 #Javascript
js jquery验证银行卡号信息正则学习
Jan 21 #Javascript
用jquery模仿的a的title属性(兼容ie6/7)
Jan 21 #Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 #Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 #Javascript
You might like
微信公众平台开发之天气预报功能
2015/08/31 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
react高阶组件添加和删除props
2019/04/26 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
python获取糗百图片代码实例
2013/12/18 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
装饰活动策划方案
2014/02/11 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
个人整改方案范文
2014/10/25 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书