这段时间在修改bugs,突然领导提了一个bug在360下,浏览器会自动反显用户名和密码。其实在登录页面下这个也无所谓,关键是在注册页面也会反显,本来也无所谓,但是返现的地方太恶心了,被领导狠批了一顿。
spacer.gif
领导问是怎么回事,我测了下说是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();
      });
</script>
<div class="controls">
<input id="passwordFalse"  type="text"   class="form-control" placeholder="请 输入您 的密码" />
<input id="passwordFalseAgain"  type="text"  style="display: none"   class="form-con trol" 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>&nbsp;&nbsp;&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"。
spacer.gif