电子邮件和密码与即时用户反馈相匹配

时间:2015-09-04 20:06:24

标签: javascript php jquery javascript-events parameter-passing

我有一个Javascript函数,我希望在用户输入他们的电子邮件地址和密码时提供即时反馈。电子邮件地址和密码都有电子邮件确认和密码确认表格。如果用户输入了两个不匹配的电子邮件,或两个不匹配的密码,我希望提示立即显示,然后在用户修复该问题时消失。

我能够创建工作代码,但我希望能够提供1个功能来为这两种情况提供功能,但我无法使其工作。到目前为止,这是我的新代码:

window.onload = function(){
    function match_handler(field_one, field_two, text_hint){
        console.log("field one is:" + field_one);
        console.log("field one value is:" + field_one.value);
        if (field_one.value != field_two.value) {
            text_hint.style.display = "block";
        } else {
            text_hint.style.display = "none";
        }
    }

    //Test to see if the emails match
    var em1 = document.getElementById("em1");
    var em2 = document.getElementById("em2");
    var emHint = document.getElementById("emHint");
    em1.addEventListener("keyup", match_handler(em1, em2, emHint));
    em1.addEventListener("focus", match_handler(em1, em2, emHint));
    em1.addEventListener("blur", match_handler(em1, em2, emHint));
    em2.addEventListener("keyup", match_handler(em1, em2, emHint));
    em2.addEventListener("focus", match_handler(em1, em2, emHint));
    em2.addEventListener("blur", match_handler(em1, em2, emHint));

    // Then I have the same code as for the email, except 
    // for the password matching the password confirmation input
    // with function calls like:

   pswd1.addEventListener("keyup", match_handler(pswd1, pswd2, pswdHint));
}

当我在console.log" field_one"我看到有一个对象,然后" field_one.value"是空白的。我不确定问题是什么,但我希望有一个简单的解决方案。任何其他与改进上述代码相关的建议都将受到欢迎。 JQuery也是一种可能性。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我找到了自己问题的答案。显然,我的函数调用格式不正确:

<div id="divB">...</div>

瞧,它有效!