-6

这是我检查 2 个密码的 Javascript 函数:

function isPassEquels(){
        var pass1 = document.getElementById("passReg");
        var pass2 = document.getElementById("passConfReg");
        if(pass1!=pass2)
        {
            alert("don't match");

        }

但这只会给我警报消息,并且不会停止 servlet 执行。当我收到警报消息时如何停止 servlet???

4

5 回答 5

2

return false;从 if 语句中尝试。

    if(pass1.value != pass2.value)
    {
        alert("don't match");
        return false; // Abort
    }

正如@Lloyd 所说,检查值,而不是元素。

于 2013-01-17T11:20:58.553 回答
1

您的代码是错误的,您正在比较页面元素而不是值,这总是错误的。尝试这个:

function isPassEquels(){
        var pass1 = document.getElementById("passReg").value;
        var pass2 = document.getElementById("passConfReg").value;

        if(pass1 != pass2) {
            alert("don't match");

        }
}
于 2013-01-17T11:21:09.857 回答
0

您应该使用元素值以及return false条件满足时

function isPassEquels(){
    var pass1 = document.getElementById("passReg").value;
    var pass2 = document.getElementById("passConfReg").value;

    if(pass1 != pass2) {
        alert("don't match");
        return false;
    } 
}
于 2013-01-17T11:26:32.170 回答
0

首先,您必须比较元素值而不是比较页面元素(就像在您的代码中一样)。另一点是在您调用isPassEquels的代码中使用return false。基本上,函数的默认返回类型是 true。

因此,请尝试将函数调用用作“return isPassEquels()”并像上面的示例一样比较元素值。

function isPassEquels(){
        var pass1 = document.getElementById("passReg");
        var pass2 = document.getElementById("passConfReg");
        if(pass1!=pass2)
        {
            alert("don't match");

        }
于 2013-01-17T11:29:43.467 回答
0

您必须将此函数附加到表单的 onSubmit 事件,如果此函数返回 false,则不会提交表单。

<form name="myForm" action="demo_form.asp" onsubmit="return isPassEquels()" method="post">
于 2013-01-17T11:30:22.440 回答