使用复选框切换密码输入(由于安全风险不工作)
Toggle password input using a checkbox (not working due to security risks)
我正在尝试删除注册表单中的 "put your password in again to confirm it" 字段。我见过的解决这个问题的设计模式是一个复选框,它会向用户显示密码——这样他们就可以验证它。然而,实施起来似乎很痛苦。
这是我的相关 html:
<form name="signup">
<div class="form-group">
<input id="usernameInput" class="form-control" placeholder="username">
</div>
<div class="form-group">
<input type="email" id="emailInput" class="form-control" placeholder="email">
</div>
<div class="form-group">
<input type="password" name="passwordInput" class="form-control" placeholder="password">
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="show-pass" value='1' onchange="showPass()"> Show password
</label>
</div>
<button type="submit" class="btn btn-info btn-lg">Sign Up</button>
<a href="#" class="btn btn-primary btn-lg owl-next" role="button">Back</a>
</form>
以及伴随的javascript:
function showPass() {
document.signup.passwordInput.type=(document.signup.show-pass.value=(document.signup.show-pass.value==1)?'-1':'1')=='1'?'text':'password';
}
但是,当我在 firefox 中尝试时,出现以下控制台错误:
Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
这个错误有点神秘,因为问题不在于非 https 网站上的密码字段(我以前用过)。我在这里遗漏了什么吗?
如果你听说过jQuery使用它,它会更容易
$('#id-of-checkbox').change(function(){
if($(this).is(':checked')){
$('.password-fields').attr('type','text');
} else {
$('.password-fields').attr('type','password');
}
});
我正在尝试删除注册表单中的 "put your password in again to confirm it" 字段。我见过的解决这个问题的设计模式是一个复选框,它会向用户显示密码——这样他们就可以验证它。然而,实施起来似乎很痛苦。
这是我的相关 html:
<form name="signup">
<div class="form-group">
<input id="usernameInput" class="form-control" placeholder="username">
</div>
<div class="form-group">
<input type="email" id="emailInput" class="form-control" placeholder="email">
</div>
<div class="form-group">
<input type="password" name="passwordInput" class="form-control" placeholder="password">
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="show-pass" value='1' onchange="showPass()"> Show password
</label>
</div>
<button type="submit" class="btn btn-info btn-lg">Sign Up</button>
<a href="#" class="btn btn-primary btn-lg owl-next" role="button">Back</a>
</form>
以及伴随的javascript:
function showPass() {
document.signup.passwordInput.type=(document.signup.show-pass.value=(document.signup.show-pass.value==1)?'-1':'1')=='1'?'text':'password';
}
但是,当我在 firefox 中尝试时,出现以下控制台错误:
Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
这个错误有点神秘,因为问题不在于非 https 网站上的密码字段(我以前用过)。我在这里遗漏了什么吗?
如果你听说过jQuery使用它,它会更容易
$('#id-of-checkbox').change(function(){
if($(this).is(':checked')){
$('.password-fields').attr('type','text');
} else {
$('.password-fields').attr('type','password');
}
});