HTML密码文本框总自动填充的问题
2021-03-31 13:42 Evan.Pei 阅读(316) 评论(0) 编辑 收藏 举报1.在开发登陆页面时无论是否记住密码网页都会自动填充登陆过的用户名密码进入因为有一个password的存在。
2.解决思路是文本框还是用text,只是里面的内容用●代替,将密码放入他的一个属性中。
3.在文本框输入时去更新属性。
1 | < input id="txt_2" maxlength="20" placeholder="密码" onfocus="Clearpwd();" password="" class="form-control" /> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //监听录入事件 function UpdatePwd() { document.getElementById( "txt_2" ).addEventListener( 'input' , function () { var _this = this ; var newPassword = _this.value; var oldPassword = window.decodeURIComponent(window.atob(_this.getAttribute( "password" ))); //解密 var deta = newPassword.length - oldPassword.length; var truePassword = "" ; var p = _this.selectionEnd; //光标结束时的位置 for ( var i = 0; i < newPassword.length; i++) { var c = newPassword.charAt(i); if (i < p && c != '●' ) { truePassword += c; } else if (i < p && c == '●' ) { truePassword += oldPassword.charAt(i); } else { truePassword += oldPassword.substr(oldPassword.length - newPassword.length + p, newPassword.length - p); break ; } } newPassword = truePassword.replace(/\S/g, '●' ); _this.setAttribute( 'password' , window.btoa(window.encodeURIComponent(truePassword))); //加密 _this.value = newPassword; // 解决在win8中光标总是到input框的最后 _this.selectionEnd = p; _this.selectionStart = p; }, false ); } //获取光标事件 function Clearpwd() { $( "#txt_2" ).val( "" ); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function SaveData() { var name = $( "#txt_1" ).val(); var pwd = window.decodeURIComponent(window.atob($( "#txt_2" ).attr( "password" ))); //密码属性; var zz = /[ "'<>%;)(&+]/; if (zz.test(name) || name == " " || zz.test(pwd) || $(" #txt_2").val() == "") { Alert2("不能录入特殊字符且不能为空! "); return false; } $.post(" /Backstage/SaveUser ", { name: name, pwd: pwd, oldid: $(" #hi_rid").val() }, function (data) { Alert2(data); CloseChy2("div_addProduct "); GetContent(" "); }); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构