-1

几乎标题一切正常,但问题是当我按下提交时,即使 JavaScript 函数返回,它也会调用 PHP 函数false

<script >
    function validateForm(){
        var formData = document.forms["Signup Form"]["FirstName"].value;
        var div = document.getElementById("FirstNameDiv")
        if(formData==null || formData=="")
        {
            div.innerHTML = "<p>" + "invalid" + "</p>"
            return false;
        }
        return true;
    }
</script>

<form name="Signup Form" method="POST" action="<?php echo     htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="return validateForm();" ) ">
4

3 回答 3

0

设置 div.innerHTML 后您缺少分号,这导致代码失败并且不返回 false。尝试:

if(formData==null || formData=="")
{
    div.innerHTML = "<p>" + "invalid" + "</p>";
    return false;
}

再看一遍,您的 div 声明中也缺少分号:

var div = document.getElementById("FirstNameDiv"); #< Added semicolon
于 2013-11-06T18:51:42.140 回答
0

这是我在表单上使用的提交按钮。如果它返回 false,它应该调用该函数而不是发布。

<input type="submit" value="Send" id="sbmt" onclick=" return validateForm()"/>
于 2013-11-06T18:51:56.097 回答
0

您在之后var div = document.getElementById("FirstNameDiv")和之后缺少分号div.innerHTML = "<p>" + "invalid" + "</p>"

另外,) ">只需替换>

你怎么知道它返回假?您是否通过validateForm()从控制台调用来验证这一点?

于 2013-11-06T18:52:26.453 回答