Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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_Validation - Fatal编程技术网

当javascript函数返回false时,为什么表单仍然提交?

当javascript函数返回false时,为什么表单仍然提交?,javascript,html,validation,Javascript,Html,Validation,以下是我的Javascript formvalidator函数: 函数companyName(){ var companyName=document.forms[“SRinfo”][“companyName”].value; 如果(公司名称==“”){ 返回false; }否则{ 返回true; } } 函数companyAdd(){ var companyad1=document.forms[“SRinfo”][“companyad1”].value; 如果(companyAdd1==“”){

以下是我的Javascript formvalidator函数:

函数companyName(){
var companyName=document.forms[“SRinfo”][“companyName”].value;
如果(公司名称==“”){
返回false;
}否则{
返回true;
}
}
函数companyAdd(){
var companyad1=document.forms[“SRinfo”][“companyad1”].value;
如果(companyAdd1==“”){
返回false;
}否则{
返回true;
}
}
函数companyCity(){
var companyCity=document.forms[“SRinfo”][“companyCity”].value;
如果(公司城市==“”){
返回false;
}否则{
返回true;
}
}
函数companyZip(){
var companyZip=document.forms[“SRinfo”][“companyZip”].value;
如果(companyZip==“”){
返回false;
}否则{
返回true;
}
}
函数enteredByName(){
var enteredByName=document.forms[“SRinfo”][“enteredByName”].value;
如果(输入的ByName==“”){
返回false;
}否则{
返回true;
}
}
函数dayPhArea(){
var dayPhArea=document.forms[“SRinfo”][“dayPhArea”].value;
如果(dayPhArea==“”){
返回false;
}
}
函数dayphppre(){
var dayPhPre=document.forms[“SRinfo”][“dayPhPre”].value;
如果(dayphppre==“”){
返回false;
}否则{
返回true;
}
}
函数dayPhSub(){
var dayPhSub=document.forms[“SRinfo”][“dayPhSub”].value;
如果(companyAdd1==“”){
返回false;
}否则{
返回true;
}
}
函数validateForm(){
if(companyName()&&companyAdd()&&companyCity()&&companyZip()&&enteredByName()&&dayPhArea()&&dayphppre()&&dayPhSub()){
返回true;
}否则{
window.alert(“请确保所有必填字段都已填写。”);
document.getElementByID(“companyName”).className=“reqInvalid”;
companyName.focus();
返回false;
}
}
以下是我的所有包含项,以防一个包含项与另一个包含项冲突(我使用jquery作为它们的toggle()):


这是我的表单标记,其中包含提交时返回的函数:


验证工作非常完美,我测试了所有字段,并不断收到相应的警报,但是在警报发出后,表单将提交到mysql并作为电子邮件发送。这是我提交帖子数据的代码

if($\u服务器['REQUEST\u METHOD']=='POST'){
//在这里,我使用php mail()提交Mysql数据库和电子邮件表单提交

在我看来,这条线可能会爆炸:

companyName.focus();
我看到的
companyName
的唯一定义是函数。不能对函数调用
focus


这会导致
返回false

在我看来,这一行可能会被破坏:

companyName.focus();
我看到的
companyName
的唯一定义是函数。不能对函数调用
focus


这会使
返回false
永远无法到达。

我会注释掉验证部分中的所有代码,然后简单地返回false。如果这会阻止表单发布,则执行验证的实际代码中存在错误。每次添加一个部分,直到找到错误为止


我的猜测与James建议您调用函数“companyName”的焦点相同。这上面的一行似乎试图从文档中获取同名元素,但您没有将其分配给变量,以便您可以调用它的焦点。

我将注释掉验证部分中的所有代码并简化y返回false。如果这阻止表单过帐,则执行验证的实际代码中存在错误。每次添加一个部分,直到找到错误为止


我的猜测与James建议您调用函数“companyName”的焦点相同。这上面的一行似乎试图从文档中获取同名元素,但您没有将其分配给变量以便可以调用焦点。

您应该验证表单服务器端,以验证m服务器端tooGood调用,该行是我以前版本的formValidator遗留下来的,第一个版本确实有效,但我的老板不喜欢多个警报。当我删除该行时,它不起作用,但随后我同时删除了
document.getElementByID(“companyName”).className=“reqInvalid”
companyName.focus();
而且它工作得很好。谢谢!打得好,那一行是我以前版本的formValidator遗留下来的,第一个版本可以工作,但我的老板不喜欢多个警报。当我删除那一行时,它不起作用,但随后我同时删除了
document.getElementByID(“companyName”)。className=“reqInvalid”;
&
companyName.focus();
它工作得很好。谢谢!