Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证:返回false无效,表单仍在提交_Javascript_Html_Forms_Validation - Fatal编程技术网

Javascript验证:返回false无效,表单仍在提交

Javascript验证:返回false无效,表单仍在提交,javascript,html,forms,validation,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').

我正在使用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()">\
\
任何帮助都将不胜感激


提前谢谢

您在这一行有一个错误:

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

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

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

我忘了提到检查是有效的,它确实显示了警报,但仍然显示出谢伊·杜克斯,谢谢,问题解决了!这是多么愚蠢的错误啊。让我感到不安的是,警报实际上正在显示。非常感谢你敏锐的眼睛!