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面向对象继承方法经典实现
Aug 20 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
Javascript之String对象详解
Jun 08 Javascript
ES6新特性之模块Module用法详解
Apr 01 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
React组件之间的通信的实例代码
Jun 27 Javascript
AngularJS页面带参跳转及参数解析操作示例
Jun 28 Javascript
AngularJS表单验证功能
Oct 19 Javascript
js前端面试之同步与异步问题详解
Apr 03 Javascript
vue使用recorder.js实现录音功能
Nov 22 Javascript
vue随机验证码组件的封装实现
Feb 19 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
Nov 13 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 使用post,get的一种简洁方式
2010/04/25 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php实现paypal 授权登录
2015/05/28 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
Python contextlib模块使用示例
2015/02/18 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python装饰器原理与用法分析
2018/04/30 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python程序变成软件的实操方法
2019/06/24 Python
使用python+whoosh实现全文检索
2019/12/09 Python
python实现五子棋程序
2020/04/24 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
幼儿教师自我鉴定
2013/11/02 职场文书
护理工作感言
2014/01/16 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
利用Java连接Hadoop进行编程
2022/06/28 Java/Android