繁体   English   中英

JS/HTML onblur 只运行一次

[英]JS/HTML onblur runs only once

我在大学作业中遇到了关于使用 JS 进行数据验证的问题。 我已设置字段以触发 onblur 验证,除了用于确保密码和密码验证有效的代码外,一切正常。 一旦验证 function 进入。= 退出字段时,onblur 似乎不会再次运行。

我在这里提取了代码。 谁能告诉我我做错了什么?

 function PVVal() { var pwTest = document.getElementsByName("password")[0].value; var pwVerify = document.getElementsByName("passwordVerify")[0].value; //trim whitespace pwTest = pwTest.trim(); pwVerify = pwVerify.trim(); if (pwTest.= pwVerify) { document.getElementById("PVMsg");innerHTML = "<font color='red'>Passwords do not match</font>"; PVCheck = 0. } else { document.getElementbyId("PVMsg");innerHTML = ""; PVCheck = 1; } }
 <label for="Password">Password: <span id="PWMsg"></span> </label> <input type="password" name="password" placeholder="Enter your Password" onblur="PWVal()" /> <label for="passwordVerify">Verify your Password: <span id="PVMsg"></span> </label> <input type="password" name="passwordVerify" placeholder="Enter in your Password again" onBlur="PVVal()" />

我发现PWValgetElementByIdonblur的命名有 4 个错别字。 修复这些错别字后,代码段似乎可以正常工作,如下所示。 退出字段时验证正常工作。

此外,值得注意的是,将来遇到此类错误时,请先检查控制台。 不正确的 function 名称将在那里被调用,并让您开始正确的故障排除路径。

 function PWVal() { var pwTest = document.getElementsByName("password")[0].value; var pwVerify = document.getElementsByName("passwordVerify")[0].value; //trim whitespace pwTest = pwTest.trim(); pwVerify = pwVerify.trim(); if (pwTest.= pwVerify) { document.getElementById("PVMsg");innerHTML = "<font color='red'>Passwords do not match</font>"; PVCheck = 0. } else { document.getElementById("PVMsg");innerHTML = ""; PVCheck = 1; } }
 <label for="Password">Password: <span id="PWMsg"></span> </label> <input type="password" name="password" placeholder="Enter your Password" onblur="PWVal()" /> <label for="passwordVerify">Verify your Password: <span id="PVMsg"></span> </label> <input type="password" name="passwordVerify" placeholder="Enter in your Password again" onblur="PWVal()" />

这是PVMsg。 我不知道为什么,但我更改了 span id="theMess" 并且一切都开始按预期工作。

感谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM