JavaScript密码和密码确认匹配
JavaScript password and password confirmation match
在单击Submit之前,我无法匹配密码。即使密码不同,提交也会进行。
var pass1 = document.getElementById('userPassword');
var pass2 = document.getElementById('userRepeatPassword');
function validatePassword(){
if (pass2.value == pass1.value) {
pass2.setCustomValidity('');
} else {
pass2.setCustomValidity('Both passwords do not match');
}
}
pass1.addEventListener('change', validatePassword);
pass2.addEventListener('keyup', validatePassword);
<form method="POST" action="login.php">
<div class="form-group">
<label for="inputFirstName">First name:</label>
<input type="text" class="form-control" name="firstName" id="inputFirstName" required>
</div>
<div class="form-group">
<label for="inputLastName">Last name:</label>
<input type="text" class="form-control" name="lastName" id="inputLastName" required>
</div>
<div class="form-group">
<label for="inputEmail">Email address:</label>
<input type="email" class="form-control" name="email" id="inputEmail" required>
</div>
<div class="form-group">
<label for="inputPassword">Password:</label>
<input type="password" class="form-control" name="userPassword" id="userPassword" required>
</div>
<div class="form-group">
<label for="inputRepeatPassword">Password repeat:</label>
<input type="password" class="form-control" name="userRepeatPassword" id="userRepeatPassword" required>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary btn-block" style="background-color: #c2c2c2; color: black; font-weight: bold;">Submit</button>
</div>
</form>
好像我错过了什么,但我已经不能找到它一整天-任何想法将不胜感激!
validate应该返回验证状态,并且表单的onsubmit事件处理程序应该能够做出反应。下面是示例:
var pass1 = document.getElementById('userPassword');
var pass2 = document.getElementById('userRepeatPassword');
function validatePassword() {
var status = false;
if (pass2.value == pass1.value) {
status = true;
pass2.setCustomValidity('');
} else {
pass2.setCustomValidity('Both passwords do not match');
}
return status;
}
pass1.addEventListener('change', validatePassword);
pass2.addEventListener('keyup', validatePassword);
<form method="POST" action="login.php" onsubmit="return validatePassword();">
<div class="form-group">
<label for="inputFirstName">First name:</label>
<input type="text" class="form-control" name="firstName" id="inputFirstName" required>
</div>
<div class="form-group">
<label for="inputLastName">Last name:</label>
<input type="text" class="form-control" name="lastName" id="inputLastName" required>
</div>
<div class="form-group">
<label for="inputEmail">Email address:</label>
<input type="email" class="form-control" name="email" id="inputEmail" required>
</div>
<div class="form-group">
<label for="inputPassword">Password:</label>
<input type="password" class="form-control" name="userPassword" id="userPassword" required>
</div>
<div class="form-group">
<label for="inputRepeatPassword">Password repeat:</label>
<input type="password" class="form-control" name="userRepeatPassword" id="userRepeatPassword" required>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary btn-block" style="background-color: #c2c2c2; color: black; font-weight: bold;">Submit</button>
</div>
</form>
有代码显示密码是否相同。但是,没有任何代码来控制如何处理带有无效密码的提交。
这里有两个选项:
1) Pankaj的回答中描述的<form onSubmit>
。
2)你也可以让你的验证功能禁用你的提交按钮。
(添加id到您的提交<button type="submit" id=submitBtn class="btn btn-primary btn-block" style="background-color: #c2c2c2; color: black; font-weight: bold;">Submit</button>
function validatePassword(){
var submit = document.getElementById('submitBtn');
if (pass2.value == pass1.value) {
pass2.setCustomValidity('');
submit.disabled = false;
} else {
pass2.setCustomValidity('Both passwords do not match');
submit.disabled = true;
}
}
必须放在底部,才能起作用
相关文章:
- 使用密码对话框Javascript请求帮助
- JavaScript生成html格式的密码
- 想要使用 JavaScript 验证用户名和密码
- javascript表单验证-数值和密码
- 如何在javascript中使用ajax post更改密码
- 应该如何将密码从纯html/javascript应用程序发送到php页面
- 密码输入启动 JavaScript
- 完成将调用IE的密码框函数从VBScript转换为Javascript
- 你如何处理Javascript中Caesar密码的转变
- javascript 的密码验证
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- 创建密码regex(javascript)
- 密码输入不起作用的Javascript模糊
- 想要将密码类型存储在 JavaScript 变量中
- 使用Cookie通过Javascript设置用户名和密码
- 表单提交时密码不匹配(JavaScript)
- 正则表达式的密码(Javascript)
- Internet Explorer 7/8:'中的密码javascript错误:'预期
- 用于验证密码 JavaScript 的正则表达式
- 模式密码javascript