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之可拖动的iframe效果代码
Aug 01 Javascript
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
js判断两个日期是否相等的方法
Sep 10 Javascript
原生javascript实现的分页插件pagenav
Aug 28 Javascript
iframe跨域通信封装详解
Aug 11 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
Apr 26 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
JS 数组随机洗牌的实例代码
Sep 12 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 字符串分割和比较
2009/10/06 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP制作用户注册系统
2015/10/23 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
Promise扫盲贴
2019/06/24 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
IBatis持久层技术
2016/07/18 面试题
高中生毕业学习总结的自我评价
2013/11/14 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
计算机网络专业求职信
2014/06/05 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
九年级历史教学反思
2016/02/19 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
Python实现简单的猜单词
2021/06/15 Python
Java如何实现树的同构?
2021/06/22 Java/Android
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB