Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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验证失败时不运行php脚本?_Javascript_Php_Html_Mysql - Fatal编程技术网

如何在javascript验证失败时不运行php脚本?

如何在javascript验证失败时不运行php脚本?,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我有一个带有onsubmit=“return validateForm()”的简单html注册表单,其中validateForm()是javascript,以确保输入格式正确,并且电子邮件和密码字段与确认字段匹配 表单操作设置为add.php。php将输入添加到mysql数据库中。javascript和php都可以很好地工作,但即使javascript发出“密码太短”之类的错误警报,php脚本也会运行,并在数据库中创建一个新条目 我希望php脚本只在javascript验证成功后运行,如果任何验

我有一个带有onsubmit=“return validateForm()”的简单html注册表单,其中validateForm()是javascript,以确保输入格式正确,并且电子邮件和密码字段与确认字段匹配

表单操作设置为add.php。php将输入添加到mysql数据库中。javascript和php都可以很好地工作,但即使javascript发出“密码太短”之类的错误警报,php脚本也会运行,并在数据库中创建一个新条目

我希望php脚本只在javascript验证成功后运行,如果任何验证失败,用户将保持在同一页面上,这是如何完成的

如果需要,我可以添加代码,但我认为这里的答案是通用的

编辑:

例如,下面是验证名称字段的代码:

function checkName()
{
    var fName = document.getElementById("firstName");
    var lName = document.getElementById("lastName");
    if (fName.value.length >= 2 && fName.value.match(/^[A-Za-z]+$/) && lName.value.length >= 2 && lName.value.match(/^[A-Za-z]+$/))
        {
            return true;
        }
    else
        {
            return false;
        }
}

function validateForm(){
if (checkName() == false)
        {
            alert("First and Last Name must be at least 2 characters long and contain  only alphabetic characters");
        document.getElementById("fName").focus();
        document.getElementById("fName").select();
        return false;
    }

}

还是
fName
?如果
fName
ID不存在,函数将出现错误并退出,而不返回任何内容,导致警报显示,但表单仍将提交。

have
validateForm()
return false on error。此外,在进行插入之前,您也应该在php中验证这些内容,因为绕过javascript验证非常容易。这只是一个学校作业,安全性不重要。此外,我的validateForm()在失败时也会返回false。我将用一个示例函数编辑原始帖子。如果使用onclick=“return validateForm()”调用函数,它将阻止表单提交,正如jKuhn指出的那样,id是firstName,我刚刚调用了变量fName。那不要紧,是吗?我发现我的focus()和select()使用了错误的id,但我将它们修复为不成功。
getElementById
的参数必须与元素的id完全匹配,而不是变量。是的,元素的id为firstName和lastName。不过,我确实做了,只是将每个实例(包括var名称)都更改为firstName和lastName,它似乎可以工作。我不明白为什么如果我想的话我可以调用var poopmonkey,对吗?如果在浏览器控制台中运行这两行会发生什么?某个原因导致警报和返回之间出现错误。