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 的 trim 函数的代码
Aug 13 Javascript
Javascript 判断函数类型完美解决方案
Sep 02 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
Jul 10 Javascript
node.js中的path.join方法使用说明
Dec 08 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
js解决movebox移动问题
Mar 29 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
jQuery基于BootStrap样式实现无限极地区联动
Aug 26 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 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
php5新改动之短标记启用方法
2008/09/11 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
一些常用的Javascript函数
2006/12/22 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
python保存字符串到文件的方法
2015/07/01 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
使用python接入微信聊天机器人
2020/03/31 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
旅游个人求职信范文
2014/01/30 职场文书
入股协议书范本
2014/04/14 职场文书
个人合作协议书范本
2014/04/18 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
新教师培训心得体会
2014/09/02 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
检讨书格式
2019/04/25 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang