最新方法修改如下:
禁止密码记住:
<input type="password" name="password" placeholder="请重新设置登陆密码"
style="display:none;border:1px solid #e6e6e6;" />
<input type="text" name="newpassword" onfocus="this.type='password'" placeholder="请重新设置登陆密码" disableautocomplete autocomplete="off" onblur="showValue('password',this.value)" />
function showValue(name, val) {
$("input[name='" + name + "']").val(val);
$("input[name='" + name + "']").blur();
}
disableautocomplete 属性不确定,各位可以尝试去掉
防止password上面的text被填充
<input type="text" name="account" />
<input type="text" name="newaccount" disableautocomplete autocomplete="off" style="border:none;width:0;height:0;" />
----------------------------------------------------------------------------------------
以下为老方法:
网上肯有很多人觉得浏览器自动填充密码很烦,下面我就告诉解决办法:
解决方案:
在第一个password文本框前面加个password框(添加属性:name|id),重点在这:此文本框千万不要写style:'display:none;'
否则无效,我的办法如下:
<div id="hiddenDiv"><input type="password" id="hiddenpadssword"/></div>
<input type="password" name="password"/>//此文本框为要使用的文本框
然后写上js:
以下为了简单使用了jq的写法(使用需引用jq插件)
$(function(){
$("#hiddenDiv").width("0");
$("#hiddenDiv").height("0");
});
-------------------------------------------------------------------------------------------------------------------------------------------------------------
禁使用发现有的浏览器会出现一种问题,div宽高为0,但是input仍然显示,代码修改如下:
(js代码可以取消填写)
经使用发现,浏览器大部分是在第一个密码框填充,但是360的兼容模式是在最后一个密码框填充,所以如果有修改密码功能的小伙伴,需要在最后一个密码框下面也添加如下代码(input的id不要重复)
<div style="width: 0px; height: 0px;border:none;"> <input type="password" id="disabledautocomplete" style="width: 0px; height: 0px;border:none;"></div>
更新:2018-11-01
注:使用过程中会发现,就算密码已经不再自动填写,但是那个密码框会有个选择密码的下拉框
解决办法:
<input name='password' style='display:none;'/>
<input onblur="SetValue('password',this.value)"/>
<script>
function SetValue(name,value){
$("input[name='"+name+"']").val(value);
$("input[name='"+name+"']").blur();//触发失去焦点,避免表单获取的值未改变
}
</script>