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 相关文章推荐
使用户点击后退按钮使效三行代码
Jul 07 Javascript
javascript:以前写的xmlhttp池,代码
May 18 Javascript
jQuery中:password选择器用法实例
Jan 03 Javascript
node.js中express-session配置项详解
May 31 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
Nov 22 Javascript
谈谈JS中的!!
Dec 07 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
Apr 08 Javascript
详解微信小程序的不同函数调用的几种方法
May 08 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
threejs太阳光与阴影效果实例代码
Apr 05 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
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
Javascript的一种模块模式
2008/03/22 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
浅谈css3中的前缀
2016/07/20 HTML / CSS
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
个人求职简历的自我评价
2013/10/19 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
环保建议书600字
2014/05/14 职场文书
工商管理专业自荐信
2014/06/03 职场文书
课外小组活动总结
2014/08/27 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
小学运动会入场词
2015/07/18 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android