Javascript验证:返回false不工作,表单仍在提交

时间:2013-11-02 10:29:39

标签: javascript html forms validation

我正在使用javascript进行表单验证,但在提交并且代码返回false后,表单仍然提交。我在我找到的其他主题中使用了“修复”,但表单仍然提交。

这是我的代码:

function CheckFormi() {
    var lh = document.getElementById('op').value;
    var ph = document.getElementById('oc').value;
    var lb = document.getElementById('dp').value;

    if (lh == "País" || ph == "Codiga postal" || lb == "País") {
        if (lf == "País") {
            document.getElementById('op').style.border = "solid 1px #FF0000";
        }
        if (ph == "Codiga postal") {
            document.getElementById('oc').style.border = "solid 1px #FF0000";
        }
        if (lb == "País") {
            document.getElementById('dp').style.border = "solid 1px #FF0000";
        }
        alert('error');
        return false;
    } else {
        document.getElementById('a').submit();
    }
}

这就是我调用函数的方式:

<form action="processor.php" method="post" id="a" onsubmit="return CheckFormi()">\

任何帮助将不胜感激,

提前感谢!

2 个答案:

答案 0 :(得分:1)

此行有错误:

if (lf == "País") {

变量lf可能不存在(lh可能是?)。这可以解释为什么不显示警报。

答案 1 :(得分:1)

也许你应该使用'event.preventDefault();'而不是'return false;'。在ie中,你应该使用event.returnValue = false;。