在 Jquery 中使用哈希函数附加表单



我正在处理密码重置表单。

我的jQuery正在检查两个密码是否相同,而哈希密码的jQuery正在冲突,所以我尝试将它们组合在一起,但是哈希脚本不再将带有哈希的隐藏字段附加到表单中。

如何使用我将要包含的formhash方法定位表单?

这是我的脚本:

表格submit

$('#form').submit(function (e) {
    if ($.trim($("#pwd").val()) != $.trim($("#confirmpwd").val())) {
        e.preventDefault();
        alert('Passwords do not match!');
        return false;
    } else {
        formhash(this.form, this.form.pwd);
    }
});

formhash方法:

function formhash(form, password) {
    var p = document.createElement("input");
    // Add the new element to our form. 
    form.appendChild(p);
    p.name = "p";
    p.type = "hidden";
    p.value = hex_sha512(password.value);
    // Make sure the plaintext password doesn't get sent. 
    password.value = "";
    form.submit();
}

这是供参考的 HTML 表单:

<form method="post" action="query_resetpass.php" id="form">
    <h3>Password Reset Form:</h3>
    <h4>Registered Email: <?php echo $email ?></h4>
    <label for="pwd">Password:</label>
    <input type="password" name="pwd" class="form-control" id="pwd">
    <label for="confirmpwd">Confirm Password:</label>
    <input type="password" name="confirmpwd" class="form-control" id="confirmpwd">
    <input type="hidden" name="unique" value="<?php echo $unique ?>">
    <button onclick="" type="submit" class="btn btn-default">Submit</button>
</form>

如何嵌套formhash脚本以使两个脚本很好地播放?

提前谢谢。

尝试以下代码。更改发生在传递给 formhash 方法的元素中。

$('#form').submit(function(e) {
    if ($.trim($("#pwd").val()) != $.trim($("#confirmpwd").val())) {
        e.preventDefault();
        alert('Passwords do not match!');
        return false;
    } else {
        formhash($("#form")[0], $("#pwd")[0]);
    }
});

最新更新