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 相关文章推荐
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
Node.js实现文件上传
Jul 05 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 Javascript
JavaScript实现三级级联特效
Nov 05 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
uni-app之APP和小程序微信授权方法
May 09 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 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获取MAC地址的函数代码
2011/09/11 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
Python中获取对象信息的方法
2015/04/27 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
教育技术职业规划范文
2014/03/04 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
亲子活动总结
2014/04/26 职场文书
副总经理任命书
2014/06/05 职场文书
监考失职检讨书
2015/01/26 职场文书
博士导师推荐信
2015/03/25 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript