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 相关文章推荐
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
jqgrid 简单学习笔记
May 03 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
require.js+vue开发微信上传图片组件
Oct 27 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
JS基于递归实现网页版计算器的方法分析
Dec 20 Javascript
微信小程序中使用wxss加载图片并实现动画效果
Aug 13 Javascript
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
详解小程序不同页面之间通讯的解决方案
Nov 23 Javascript
浅谈vue加载优化策略
Mar 19 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 Javascript
js前端图片加载异常兜底方案
Jun 21 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 和 MySQL 基础教程(四)
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
javascript截取字符串小结
2015/04/28 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
解析Python中的异常处理
2015/04/28 Python
Python玩转Excel的读写改实例
2019/02/22 Python
Python笔记之观察者模式
2019/11/20 Python
python 连续不等式语法糖实例
2020/04/15 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
印尼旅游网站:via
2017/11/12 全球购物
GC是什么?为什么要有GC?
2013/12/08 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
分公司任命书
2014/06/06 职场文书
社区护士演讲稿
2014/08/27 职场文书
工作检讨书怎么写
2015/01/23 职场文书
结婚司仪主持词
2015/06/29 职场文书
护士工作心得体会
2016/01/25 职场文书