jquery解决谷歌浏览器自动保存加密密码是乱码
添加一个隐形的input框,提交隐藏input框里的数据,展示框展现的还是明文密码,并且不提交展示框的值
<formid="loginForm"class="form-signin newForm-signin"action="${ctx}/login"method="post"onsubmit="return checkForm()"><div class="userName"><span></span><inputtype="text"id="username"name="username"class="input-block-level required"value="${username}"placeholder="请输入账号"/></div><div class="userPaw"><i class="eye-icon" onclick="togglePassword()"></i><span></span><input type="password" id="password" name="fakePassword" class="input-block-level required"placeholder="请输入密码"autocomplete="current-password" /><!-- 加密后的密码隐藏字段 --><input type="hidden" id="encryptedPassword" name="password" /></div></form>
js部分
document.getElementById('loginForm').addEventListener('submit', function(event) {event.preventDefault(); // 阻止表单的默认提交行为//验证码是输入var codeText = $('#validateCode').val();if (codeText.length == 0) {$('#validateCode').focus();return false;}// 获取明文密码,进行加密var pwd = $('#password').val();var encryptedPwd = myEncrypt(pwd);// 设置隐藏字段$('#encryptedPassword').val(encryptedPwd);// 删除明文字段的 name 防止提交fakePassword参数$('#password').removeAttr('name');// 如果验证通过,可以手动提交表单this.submit();});