验证后提交Javascript表单

验证后提交Javascript表单,javascript,html,validation,Javascript,Html,Validation,这个脚本的主要功能是:在未选中收音机复选框时发出警报。但是,如果选择了所有按钮,我需要它来提交表单…这就是我挂断的地方。现在,如果选择了所有字段和按钮,那么我仍然会收到一个带有var alertMsg的警报。有什么想法吗 function submitform() { var sizeChoice = "" var size = document.store.on1.length var fontChoice = "" var len = document.sto

这个脚本的主要功能是:在未选中收音机复选框时发出警报。但是,如果选择了所有按钮,我需要它来提交表单…这就是我挂断的地方。现在,如果选择了所有字段和按钮,那么我仍然会收到一个带有var alertMsg的警报。有什么想法吗

function submitform() {
    var sizeChoice = ""
    var size = document.store.on1.length
    var fontChoice = ""
    var len = document.store.on2.length
    var materialChoice = ""
    var material = document.store.on3.length
    var treatmentChoice = ""
    var treatment = document.store.on4.length
    var a = document.forms["store"]["item_name"].value;
    var alertMsg = "Please Choose a:"
    for(i = 0; i < size; i++) {
        if(document.store.on1[i].checked) {
            sizeChoice = document.store.on1[i].value
        }
    }
    for(i = 0; i < len; i++) {
        if(document.store.on2[i].checked) {
            fontChoice = document.store.on2[i].value
        }
    }
    for(i = 0; i < material; i++) {
        if(document.store.on3[i].checked) {
            materialChoice = document.store.on3[i].value
        }
    }
    for(i = 0; i < treatment; i++) {
        if(document.store.on4[i].checked) {
            treatmentChoice = document.store.on4[i].value
        }
    }
    if(a == null || a == "") alertMsg += "\n" + "Name" + "\n";
    if(sizeChoice == "") {
        alertMsg += "Size" + "\n"
    }
    if(fontChoice == "") {
        alertMsg += "Font" + "\n"
    }
    if(materialChoice == "") {
        alertMsg += "Material" + "\n"
    }
    if(treatmentChoice == "") {
        alertMsg += "Treatment" + "\n"
    } {
        alert(alertMsg)
    };
    return false;
    document.forms["form"].submit();
};
函数submitform(){
var sizeChoice=“”
变量大小=document.store.on1.length
var fontChoice=“”
var len=document.store.on2.length
var materialChoice=“”
var物料=document.store.on3.length
var treatmentChoice=“”
var处理=document.store.on4.length
var a=文件.表格[“存储”][“项目名称”].值;
var alertMsg=“请选择一个:”
对于(i=0;i
并请添加
到每个语句


并请添加
到每个语句。

在提交表单之前,您有一个返回。这可能是问题的一部分


此外,您在最终if语句中缺少一个else。

在表单提交之前,您有一个返回。这可能是问题的一部分


另外,在最后的if语句中缺少else。

在表单提交行之前返回,因此它将永远不会被调用

在表单提交行之前返回,因此它将永远不会被调用

无论验证结果如何,都返回false。将代码结尾更改为:

if(treatmentChoice == "") {
    alertMsg += "Treatment" + "\n"
} {
      alert(alertMsg)
};
return false;
document.forms["form"].submit();
致:


长度检查检查alertMsg的最终值长度与您最初设置的长度相对应。

无论验证结果如何,您都返回false。将代码结尾更改为:

if(treatmentChoice == "") {
    alertMsg += "Treatment" + "\n"
} {
      alert(alertMsg)
};
return false;
document.forms["form"].submit();
致:


长度检查检查alertMsg的最终值长度与您最初设置的长度相对应。

alertMsg以“请选择a:”开头,那么它什么时候会计算为false?xdazz,我不清楚这有什么帮助。你能澄清一下吗?(除了分号;)agree 100%)alertMsg的开头是“请选择a:”,那么它什么时候会计算为false?xdazz,我不清楚这有什么帮助。你能澄清一下吗?(除了分号;)agree 100%)您在最后一个
if
语句下面有一个语法错误,看起来像是一个额外的括号。另外,为了让您知道
i
是全局的,您可能想在某个地方定义它。在最后一个
if
语句下面出现了语法错误,看起来像是一个额外的括号。另外,如果您知道
i
是全局性的,您可能需要在某个地方定义它。+1返回语句阻止它后面的任何其他代码运行。+1返回语句阻止它后面的任何其他代码运行。
if(treatmentChoice == "") {
    alertMsg += "Treatment" + "\n"
}
if(alertMsg.length > 16) {
    alert(alertMsg);
    return false;
} else {
    document.forms["form"].submit();
}