为解决这两个问题,浏览了一些国内和国外的网站。
对于问题一:是因为type=password引起的,保存了密码之后,进入另一个页面的时候,如果有type=password,浏览器会寻找与它临近的input type=text,将用户名填上。
由此,解决方法有:仍然使用type=password,只是增加了fake input control,即在此之前加上
HTML 代码
,用于混淆浏览器。
第二个方法,使用type=text,当用户输入密码的时候进行编码,即转换成小圆点,这里写了一段代码,首先是两个控件,hidden的控件用于提交表单:
HTML 代码
用于编码的JS代码:
HTML 代码
首先判断是什么浏览器,然后绑定什么方法,onpropertychange是IE专有的。
后面方法是输入一位,改变一位,变成“\u25CF”小圆点,然后赋值为隐藏域,进行提交表单。
这样的不足之处是:按F12,hidden的value会显示出来。
对于问题二:
原来有个属性autocomplete=off,现在随着浏览器的升级,IE11,Chrome34+,FireFox30都不再支持这个属性了,由此使用这个方法不能解决问题二。
关于各大浏览器disable这个属性,有的说是,用户输入用户名和密码后,浏览器没有弹出自动保存密码的对话框的话,用户会认为浏览器有问题;还有人认为这是浏览器的bug。
现在用的是两个fake input control,即在原来的type=password控件前添加:
HTML 代码
这样一来,IE和Chrome不再弹了,但是火狐还是会弹出自动保存密码对话框。
这个是转载 的
根据上面的方法最终的处理办法
一、在