javascript - 在Javascript中同时显示多个密码的任何方式?
问题描述
如果可以同时显示/隐藏密码,我正在尝试寻找解决方案?
我只能显示/隐藏第一个原始密码。有没有人知道它的解决方案,或者是否有可能?
这是JavaScript和HTML代码
function Toggle() {
let btt = password
if (btt.type === "password") {
btt.type = "text";
} else {
btt.type = "password";
}
}
function checkPassword(register) { //correct
let fisrtPassword = register.password.value;
let retypedPassword = register.retypedpassword.value;
if (fisrtPassword === retypedPassword) {
return true;
} else {
passwordMatchError.setAttribute("class", "error");
passwordMatchError.innerHTML = ("Passwords do not match. Please retype");
return false;
}
}
解决方案
尝试这个。请注意,我从密码字段单击中删除了切换,并为这些字段提供了一个类
我还简化了您的提交处理程序并修复了拼写并添加了必需
document.getElementById("showpasswords").addEventListener("click",function() {
[...document.querySelectorAll(".password")].forEach(p =>
p.type = p.type === "password" ? "text" : "password"
)
})
document.getElementById("registerdetails").addEventListener("submit", function(e) {
const errSpan = document.getElementById("passwordmatcherror");
let firstPassword = this.password.value;
let retypedPassword = this.retypedpassword.value;
errSpan.classList.toggle("error", firstPassword !== retypedPassword);
if (firstPassword !== retypedPassword) {
errSpan.innerHTML = ("Passwords do not match. Please retype");
e.preventDefault();
}
});
<section>
<div id="formcontainer">
<form id="registerdetails" action="fma_t3confirm.html">
<div>
<label for="password">* Password (Must be 8 characters and include one uppercase, one lowercase and
one numeric):</label><br/>
<input type="password" class="password" id="password" pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,8}$" required>
<label><input type="checkbox" id="showpasswords"> Show passwords</label>
</div>
<div>
<label for="retypedpassword">* Retype your password:</label><br/>
<input type="password" class="password" id="retypedpassword">
<span id="passwordmatcherror"></span>
</div>
<input type="submit" />
</form>
</div>
</section>
推荐阅读
- python - 如何计算 csv 列中的元素数并根据该计数返回另一列中的元素?
- java - 不同线路上的多个系统输入连接在一起。爪哇
- mongodb - 使用批量写入 API 时出现 CodecConfigurationException
- java - java.lang.NoClassDefFoundError: org/apache/xerces/jaxp/DocumentBuilderFactoryImpl
- python - 使用 python 修复损坏的 XML
- teradata - 视图中的 Teradata 分区使用
- paypal - 使用卡付款时 Paypal REST API javascript SDK 错误 400
- java - REST API - 状态码为 415 的 HTTP 文件上传
- java - JUnit 5 并行执行:线程太少
- javascript - 续集的问题,同时使用外键和onDelete