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 相关文章推荐
用Greasemonkey 脚本收藏网站会员信息到本地
Oct 26 Javascript
通过JS来动态的修改url,实现对url的增删查改
Sep 01 Javascript
JavaScript极简入门教程(一):基础篇
Oct 25 Javascript
js闭包实例汇总
Nov 09 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 Javascript
大白话讲解JavaScript的Promise
Apr 06 Javascript
react-router JS 控制路由跳转实例
Jun 15 Javascript
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
Express结合Webpack的全栈自动刷新
May 23 Javascript
工作中常用js功能汇总
Nov 07 Javascript
浅谈node.js中间件有哪些类型
Apr 29 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如何调用webservice应用介绍
2012/11/24 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
一段实时更新的时间代码
2006/07/07 Javascript
javascript编程起步(第七课)
2007/01/10 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
python的迭代器与生成器实例详解
2014/07/16 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
python列表的增删改查实例代码
2018/01/30 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python 变量类型详解
2018/10/10 Python
东方红海科技面试题软件测试方面
2012/02/08 面试题
新学期红领巾广播稿
2014/01/14 职场文书
2014学年自我鉴定
2014/02/23 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
三严三实学习心得体会
2014/10/13 职场文书
大二学生自我检讨书
2014/10/23 职场文书
搞笑婚前保证书
2015/02/28 职场文书
举起手来观后感
2015/06/09 职场文书
新郎新娘致辞
2015/07/31 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python