如何使表单仅在JavaScript函数返回true时才调用PHP

how to make form calls php only if javascript function returns true?

本文关键字:true 调用 PHP 返回 函数 表单 何使 JavaScript      更新时间:2023-09-26

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

<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();" ) ">

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

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

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

var div = document.getElementById("FirstNameDiv"); #< Added semicolon
这是我

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

<input type="submit" value="Send" id="sbmt" onclick=" return validateForm()"/>

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

此外,将) ">替换为仅>

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