如何使注册按钮只有在密码强度好或强时才启用
How make the register button enable only if password strength is good or strong?
我使用ZXCVBN.js作为密码强度。它正在像预期的那样工作。但我想启用注册按钮,只有当密码的强度显示良好或强。
这是一个工作的代码依赖。
var strength = {
0: "Worst",
1: "Bad",
2: "Weak",
3: "Good",
4: "Strong"
}
var password = document.getElementById('password');
var meter = document.getElementById('password-strength-meter');
var text = document.getElementById('password-strength-text');
password.addEventListener('input', function() {
var val = password.value;
var result = zxcvbn(val);
meter.value = result.score;
if (val !== "") {
text.innerHTML = "Strength: " + strength[result.score];
} else {
text.innerHTML = "";
}
});
-
你没有使用AngularJS。Angular唯一的东西是
ng-click
和ng-model
,但你甚至没有使用它们。你甚至都没有控制器 -
您检查的是
EventListener
以外的强度,因此只检查了onload
。 -
您正在使用
$('red')
,但您的codepen中没有Jquery
,并且您没有id : red
的任何元素。按钮的id
为reg
var strength = {
0: "Worst",
1: "Bad",
2: "Weak",
3: "Good",
4: "Strong"
}
var password = document.getElementById('password');
var meter = document.getElementById('password-strength-meter');
var text = document.getElementById('password-strength-text');
var register = document.getElementById('register');
password.addEventListener('input', function() {
var val = password.value;
var result = zxcvbn(val);
// Update the password strength meter
meter.value = result.score;
// Update the text indicator
if (val !== "") {
text.innerHTML = "Strength: " + strength[result.score];
} else {
text.innerHTML = "";
}
if (meter.value >= 3) {
register.disabled = false;
} else {
register.disabled = true;
}
});
button[disabled] {
color: white;
background-color: red;
}
button {
color: white;
background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.0/zxcvbn.js"></script>
<div class="col-md-6 col-md-offset-3">
<label for="password">Password</label>
<input type="password" name="password" id="password" class="form-control" ng-model="password" required />
<meter max="4" id="password-strength-meter"></meter>
<p id="password-strength-text"></p>
<button type="submit" ng-click="register()" id="register" disabled>Register</button>
</div>
实际上,您可以简单地通过javascript或使用jquery将button元素的属性值更改为禁用或激活。**或添加一些类按钮元素使用。addclass (classname)属性在jquery。如:
.classname{
disabled:true;
}
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 如何使用密码检测网络中的状态连接
- Meteor忘记了密码的实现
- 如何在 API 调用后和 if 语句中启用提交按钮
- 语义ui如何使用javascript启用或禁用下拉列表
- 使用密码对话框Javascript请求帮助
- Internet Explorer缺少占位符支持,特别是密码字段
- angular js密码强度显示问题
- IE6在启用/禁用文本字段上闪烁
- 传单中如何在更改基层时启用/禁用覆盖层
- 一个密码测试程序,如果存在空格,它会提醒用户
- 根据字段的值启用按钮
- 密码输入键脚本在首次使用后无法工作
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 当启用false或删除chrome扩展时,是否可以询问密码
- Javascript-更正用户名和密码以启用另一个表单
- 检查密码输入以启用按钮的Javascript
- 如何使注册按钮只有在密码强度好或强时才启用
- 在密码字段具有焦点后启用表单登录按钮
- JQuery改变事件不火灾加载上的密码字段时,记住密码在chrome浏览器中启用