每次更新第一个时更新隐藏的输入

时间:2014-11-26 09:51:44

标签: php html5

我正在尝试制作注册表。 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>

如何让它发挥作用,任何提示?

3 个答案:

答案 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次。