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

时间:2015-04-22 05:34:48

标签: jquery forms

我正在使用密码重置表单。

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

如何使用我要包含的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脚本以使两个脚本运行良好?

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试以下代码。更改位于您传递给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]);
    }
});