JavaScript 代码返回 false,但表单仍然被提交

标签 javascript forms

我有一个带有 JavaScript 验证的表单。如果出现错误,提交按钮应该“变灰”并且不应提交表单。然而,最后几个函数似乎提交了表单,即使它们弹出了警告框。为什么?

按钮代码:

<input type="submit" name="button" id="button"
       onclick='return formvalidation();' value="Next" />

非工作函数示例:

function BlankSite() {
    var SiteNum= document.getElementsByName("sitesinput")[0].value;
    if ((SiteNum == "") || (SiteNum == 0))
    {
        alert("You have not selected an amount of sites.")
        document.forms[0].button.disabled = true;
        return false;
    }
}

函数发起者:

function formvalidation()
{
    ZeroPhones();
    BlankPC();
    BlankSite();
    BlankSeats();
    phone_change();
} // End of formvalidation

这很奇怪,我尝试了各种解决方法都无济于事!

最佳答案

您需要在 onclick 调用的函数中有 return false;,在本例中为 formvalidation

让“root”函数调用的某些函数返回 false 没有任何效果。返回值丢失。

关于JavaScript 代码返回 false,但表单仍然被提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412913/

相关文章:

javascript - 没有输入标签 onclick 的 CSS 复选框,纯 JS

javascript - 如何使用 Spring MVC 在组合框中选择一个选项

php - 从 Mailgun 表单 Post PHP 中检索附件

javascript - 如何多次调用 ruby​​ 函数

javascript - 计算输入的次数 javascript

html - 我怎样才能使这个提交按钮居中?

forms - 为什么我的表单没有在 symfony 4 中提交?

php - 简单的 PHP 'blog entry' 表单没有提交到 MYSQL 数据库?

javascript - 从网页连接到 couch db

javascript - document.getElementById ('a' ).click() 在 IE 中不起作用