ie8下修改input的type属性报错的解决方法


Posted in Javascript onSeptember 16, 2014

摘要:

现在有一个需求如图所示,当用户勾选显示明文复选框时,要以明文显示用户输入的密码,去掉勾选时要变回密文,刚开始想到的就是修改输入框的type来决定显示明文还是密文,使用jQuery的attr来做试验,测试结果是chrome,Firefox,ie9+都是好的,在ie8以下就会报错,查找了下原因,ie8中是不允许修改input的type属性,最终换了种思路实现。
ie8下修改input的type属性报错的解决方法
当勾选显示明文时替换输入框为type="text",不勾选时在将输入框替换为type="password",代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="jquery.min.js"></script>
</head>
<body>
<span id="pass"><input name="password" type="password"></span><label><input type="checkbox" id="show-password">显示明文</label>
<script>
$('#show-password').click(function() {
var inp,cname,val;
if(this.checked) {
inp = $('#pass').children('input');
cname = inp.attr('name');
val = inp.val();
$('#pass').html('<input name="'+cname+'" value="'+val+'" type="text">');
} else {
inp = $('#pass').children('input');
cname = inp.attr('name');
val = inp.val();
$('#pass').html('<input name="'+cname+'" value="'+val+'" type="password">');
}
});
</script>
</body>
</html>

总结:

这篇文章并没有什么技术含量,但是这种交互还是存在的,写这篇文章主要还是考虑到ie8以下兼容性问题。如果你的项目中也有这种交互可以参考下,或者你有更好的方法可以和我一起分享。

Javascript 相关文章推荐
JQuery 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
JavaScript 原型与继承说明
Jun 09 Javascript
JavaScript执行效率与性能提升方案
Dec 21 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
Mar 03 Javascript
模仿password输入框的实现代码
Jun 07 Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 Javascript
AngularJS路由Ui-router模块用法示例
May 29 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 Javascript
纯js实现页面返回顶部的动画(超简单)
Aug 10 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
elementUI多选框反选的实现代码
Apr 03 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 #Javascript
JavaScript的各种常见函数定义方法
Sep 16 #Javascript
JavaScript中合并数组的N种方法
Sep 16 #Javascript
JavaScript的null和undefined区别示例介绍
Sep 15 #Javascript
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 #Javascript
JavaScript的arguments对象应用示例
Sep 15 #Javascript
avascript中的自执行匿名函数应用示例
Sep 15 #Javascript
You might like
PHP实现的观察者模式实例
2017/06/21 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
express框架下使用session的方法
2019/07/31 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
Python 不同对象比较大小示例探讨
2014/08/21 Python
Tornado 多进程实现分析详解
2018/01/12 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
python如何处理程序无法打开
2020/06/16 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
Python实现随机爬山算法
2021/01/29 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
优秀语文教师事迹
2014/05/18 职场文书
出生证明格式
2015/06/15 职场文书
大学运动会通讯稿
2015/07/18 职场文书
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技