这段时间在修改bugs,突然领导提了一个bug在360下,浏览器会自动反显用户名和密码。其实在登录页面下这个也无所谓,关键是在注册页面也会反显,本来也无所谓,但是返现的地方太恶心了,被领导狠批了一顿。
领导问是怎么回事,我测了下说是360浏览器本身的问题。领导当时就怒了,说了句你代码就不能屏蔽该功能吗。痛定思痛,在网上找了些资料,自己尝试下,解决了。好了废话少说,解决方式如下:
<script type="text/javascript">
$("#passwordFalse").focus(function(){
$(this).hide();
$("#password").val("").show().css("backgroundColor","red").focus();
});
$("#password").blur(function(){
$(this).show().css("backgroundColor","red");
$("#passwordFalse").hide();
});
$(this).hide();
$("#password").val("").show().css("backgroundColor","red").focus();
});
$("#password").blur(function(){
$(this).show().css("backgroundColor","red");
$("#passwordFalse").hide();
});
</script>
<div class="controls">
<input id="passwordFalse" type="text" class="form-control" placeholder="请 输入您 的密码" />
<input id="passwordFalseAgain" type="text" style="display: none" class="form-control" placeholder="请输入您的密码" />
<input id="password" name="password" type="password" style="display: none" pla ceholder="请输入您的密码" plugin="passwordStrength" class="form-control" d atatype="password" nullmsg="密码不能为空!" autocomplete="off" errormsg=" 密码范围在6~20位之间!"/>
<span style="display: none;" class="passwordStrength"><b> &nbs p;密码强度:</b><span class="">弱</span><span class="">中</span><span class="">强</span></span>
<span id="newPwdMsg" style="display: none; margin-top: 20; " class="Validform_checktip Validform_wrong"></span>
</div>
<input id="passwordFalse" type="text" class="form-control" placeholder="请 输入您 的密码" />
<input id="passwordFalseAgain" type="text" style="display: none" class="form-control" placeholder="请输入您的密码" />
<input id="password" name="password" type="password" style="display: none" pla ceholder="请输入您的密码" plugin="passwordStrength" class="form-control" d atatype="password" nullmsg="密码不能为空!" autocomplete="off" errormsg=" 密码范围在6~20位之间!"/>
<span style="display: none;" class="passwordStrength"><b> &nbs p;密码强度:</b><span class="">弱</span><span class="">中</span><span class="">强</span></span>
<span id="newPwdMsg" style="display: none; margin-top: 20; " class="Validform_checktip Validform_wrong"></span>
</div>
上面绿色部分是显示在页面中的,红色部分是将反显的密码隐藏的关键一步,紫色部分是表单中实际要填写的input。通过上面js代码将功能实现。把background-color设为#fff是因为360会默认给一个屎黄色的背景。分别用一个id为passwordFalse和passwordFalseAgain的假的输入框,样式设为一样,当我们点击假的input的时候,让真正的显示出来,同时将反显的input值填入id为passwordFalseAgain的输入框内,设置该输入框样式为style="display: none"。
实现后的结果如图: