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 valueOf 使用方法
Dec 28 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
Dec 08 Javascript
浅谈javascript的闭包
Jan 23 Javascript
bootstrap table插件的分页与checkbox使用详解
Jul 23 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
Sep 04 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
基于canvasJS在PHP中制作动态图表
May 30 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 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
建立动态的WML站点(三)
2006/10/09 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
javascript document.execCommand() 常用解析
2009/12/14 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python服务器与android客户端socket通信实例
2014/11/12 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
python黑魔法之编码转换
2016/01/25 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Pytorch之contiguous的用法
2019/12/31 Python
python文件路径操作方法总结
2020/12/21 Python
python SOCKET编程基础入门
2021/02/27 Python
表扬稿格式范文
2015/01/16 职场文书
2014年度个人总结范文
2015/03/09 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python
React中的Context应用场景分析
2021/06/11 Javascript
mysql如何配置白名单访问
2021/06/30 MySQL
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js