Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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
Javascripting没有按预期工作,并且没有返回语法错误?_Javascript_Client Side Validation - Fatal编程技术网

Javascripting没有按预期工作,并且没有返回语法错误?

Javascripting没有按预期工作,并且没有返回语法错误?,javascript,client-side-validation,Javascript,Client Side Validation,好了,伙计们,我正在尝试使用JavaScript来验证表单,然后在使用正确的信息验证所有表单之后显示一条“谢谢”消息。我已经让它工作来验证名字、电子邮件地址和无线电选择,但是我似乎无法让它验证状态选择,或者显示感谢消息,但是我还使用了我的浏览器(Firefox)开发控制台来挖掘语法错误。无显示。有什么帮助吗 下面是代码的一小部分,下面是指向整个代码的JSFIDLE链接以及HTML function validForm() { // reference point /* first name,

好了,伙计们,我正在尝试使用JavaScript来验证表单,然后在使用正确的信息验证所有表单之后显示一条“谢谢”消息。我已经让它工作来验证名字、电子邮件地址和无线电选择,但是我似乎无法让它验证状态选择,或者显示感谢消息,但是我还使用了我的浏览器(Firefox)开发控制台来挖掘语法错误。无显示。有什么帮助吗

下面是代码的一小部分,下面是指向整个代码的JSFIDLE链接以及HTML

function validForm() { // reference point 
/* first name, email, comments and phone */
var fname = document.form1.fname;
var email = document.form1.email;
var comments = document.form1.comments;
var phone1 = document.form1.phone1;
var phone2 = document.form1.phone2;
var phone3 = document.form1.phone3;
/* collecting the error spans for later use */
var fnErr = document.getElementById('fnErr');
var lnErr = document.getElementById('lnErr');
var emErr = document.getElementById('emErr');
var phErr = document.getElementById('phErr');
var cmErr = document.getElementById('cmErr');
var state = document.getElementById('stErr');
    if(fname.value=="") {
    fnErr.innerHTML = "We need your name, please.";
    fname.focus();
    return false;
} else {
    fnErr.innerHTML = "";
}
    if(email.value=="") {
    emErr.innerHTML = "We need your email, please.";
    email.focus();
    return false;
} else {
    emErr.innerHTML = "";
}
if(state.value=="none") {
    fnErr.innerHTML = "Please select your state.";
    state.focus();
    return false;
} else {
    fnErr.innerHTML = "";
}
/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i;
    if(isNaN(phone1.value) || isNaN(phone2.value) ||
isNaN(phone3.value)) {
    phErr.innerHTML = "If you include a phone number it should be numbers only.";
    phone1.select();
    return false;
} else {
    phErr.innerHTML = ""; 
}
var notices = document.form1.notices;
var selected;
for(var i=0;i<notices.length;i++) {
    if(notices[i].checked) {
    selected = notices[i].value;  
    }
}
/* set up a message for a advert recipient */
var msg = "Thank you, <b>"+fname.value
+"!</b> Your message has been received and one of our representatives will reply to <a href='"
+email.value+"'>"+email.value+"</a> within a day or two. Relax, and enjoy the rest of the site!";
if(selected != undefined) {
    document.getElementById('notePref').innerHTML = "";
    if (selected == "yes") {  // here's where we test the contents of "selected"
        document.getElementById('fnlMsg').innerHTML = msg;
    } else {
        document.getElementById('fnlMsg').innerHTML = "<strong>"+fname.value+"</strong>, thank you for your feedback!";
    }
     var contactForm = document.getElementById('registerForm').setAttribute('class','hide');
     var loseSep = document.getElementsByClassName('spec');
     loseSep[0].setAttribute('class', 'hide');
} else {
    document.getElementById('notePref').innerHTML = "Please make a selection:";
}
} // reference point
函数validForm(){//参考点
/*姓名、电子邮件、评论和电话*/
var fname=document.form1.fname;
var email=document.form1.email;
var注释=document.form1.comments;
var phone1=document.form1.phone1;
var phone2=document.form1.phone2;
var phone3=document.form1.phone3;
/*收集错误范围以供以后使用*/
var fnErr=document.getElementById('fnErr');
var lnErr=document.getElementById('lnErr');
var emer=document.getElementById('emer');
var phErr=document.getElementById('phErr');
var cmErr=document.getElementById('cmErr');
var state=document.getElementById('stErr');
如果(fname.value==“”){
fnErr.innerHTML=“请告诉我们您的姓名。”;
fname.focus();
返回false;
}否则{
fnErr.innerHTML=“”;
}
如果(email.value==“”){
emer.innerHTML=“我们需要您的电子邮件,请。”;
email.focus();
返回false;
}否则{
emer.innerHTML=“”;
}
如果(state.value==“无”){
fnErr.innerHTML=“请选择您的状态。”;
state.focus();
返回false;
}否则{
fnErr.innerHTML=“”;
}
/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i;
if(isNaN(phone1.value)| isNaN(phone2.value)||
isNaN(phone3.value)){
phErr.innerHTML=“如果包含电话号码,则应仅包含号码。”;
phone1.select();
返回false;
}否则{
phErr.innerHTML=“”;
}
var通知=document.form1.notices;
选择var;
对于(var i=0;i首先:您没有id=“fnlMsg”的位置(div/span/etc)

第二:您没有id=“contactForm”的位置(div/span/etc)

然后更改您的html

<select name="state">


这是您的罪魁祸首“fnlMsg”元素未定义

if (selected == "yes") {  // here's where we test the contents of "selected"
        document.getElementById('fnlMsg').innerHTML = msg;
    } else {
        document.getElementById('fnlMsg').innerHTML = "<strong>"+fname.value+"</strong>, thank you for your feedback!";
    }
if(selected==“yes”){//这里我们测试“selected”的内容
document.getElementById('fnlMsg')。innerHTML=msg;
}否则{
document.getElementById('fnlMsg').innerHTML=“”+fname.value+”,感谢您的反馈!”;
}

您的回答肯定有帮助,我现在已经完成了所有的验证工作。现在我唯一的问题是“谢谢”消息。我可以让它显示在页面上,但我希望隐藏“表单”,显示的只是“谢谢”message.只需创建包含所有表单的父div,感谢消息除外。然后隐藏该div,add.css(“display”,“none”);感谢您的输入!我实际上已经知道如何将脚本重定向到我创建的另一个页面,并显示感谢消息。不过,我会记住这一点,以备将来使用。再次感谢!
var state = document.getElementById('stErr');
var state = document.getElementById('state');
if (selected == "yes") {  // here's where we test the contents of "selected"
        document.getElementById('fnlMsg').innerHTML = msg;
    } else {
        document.getElementById('fnlMsg').innerHTML = "<strong>"+fname.value+"</strong>, thank you for your feedback!";
    }