我正在尝试制作注册表。 SQL DB要求输入密码2次,我想替换它,在每次我将值放在第一个输入第二个输入时自动更新。我的代码可以正常工作,如果它是这样的:
<div class='row'>
<input type="password" placeholder="Password" name="password1" id="pass1" />
</div>
<div class="row">
<input type="password" placeholder="Repeat Password" name="password2" id="pass2" />
</div>
我已尝试过此方法,但向我显示错误消息&#34;请填写所有必填字段&#34;
<div class='row'>
<input type="password" placeholder="Password" name="password1" id="pass1" />
<input type="hidden" placeholder="Password" name="password2" id="pass2" />
</div>
如何让它发挥作用,任何提示?
答案 0 :(得分:2)
在JavaScript中,您可以执行以下操作:
var $pass1 = document.getElementById("pass1"),
$pass2 = document.getElementById("pass2");
$pass1.oninput = function() {
$pass2.value = this.value;
}
但说实话,你应该让他们两次输入它。如果他们的密码不正确怎么办?
最终看起来像这样:
window.onload = function() {
var $pass1 = document.getElementById("pass1"),
$pass2 = document.getElementById("pass2");
$pass1.oninput = function() {
$pass2.value = this.value;
}
}
<input type="text" name="pass1" id="pass1">
<input type="text" name="pass2" id="pass2">
如果你正在使用jQuery,你可以这样做:
$(document).ready(function(){
$("#pass1").on("input", function(){
$("#pass2").val($(this).val());
});
});
答案 1 :(得分:1)
首先让我非常清楚地说:你应该不做这件事,让用户确认密码是最好的。
但是,如果你真的必须,可以在JavaScript中进行更改,但我建议使用后端(假设它是基于你的问号标签的PHP / MySQL)。
只需在两个数据库字段中插入相同的密码字段,例如您的HTML可以是:
<div class='row'>
<input type="password" placeholder="Password" name="password1" id="pass1" />
</div>
您的查询如下:
INSERT INTO `table` (..., `password1`, `password2`, ...) VALUES (..., $password1, $password1, ...)
答案 2 :(得分:1)
Jquery等价物:
$("#pass1").blur(function() {
$("#pass2").val($(this).val());
};
正如评论及其他答案所述,不建议不要让某人输入密码2次。