2017-08-13 51 views
0

如何测试两个变量的表单验证:emailAddr & & items []。用于电子邮件&&复选框验证的jQuery/JavaScript测试

items []是一个复选框数组。

目前下面的代码根本不会提交表单。

jQuery(document).ready(function(){ 
     var re = /(\w+)\@(\w+)\.[a-zA-Z]/g; 
     var email = document.getElementById("emailAddr"); 
     var emailValue = email.value; 
     var testEmail = re.test(emailValue); 
     jQuery("#submitForm").on("click",function(){ 
      if (jQuery("input[name*='items']").is(":checked"), 
       testEmail === true){ 
       return true; 
      } else { 
       jQuery('#messages').append("You must choose at least 1 image<br> 
             Please enter a valid email"); 
       return false; 
      } 

     }); 
    }); 
+1

把你的电子邮件校验码内你的'上(“点击” ...'的处理程序。 –

+0

是的,这一切都不同,现在的形式提交,但没有选中复选框 – Grant

回答

2

清理代码有点检查在提交值可能帮助,但我不知道HTML究竟是如何格式化明白为什么其他形式可能不被提交。

var re = /(\w+)\@(\w+)\.[a-zA-Z]/g; 
var email = document.getElementById("emailAddr"); 
jQuery("#submitForm").on("click",function(e){ 
    var emailValue = email.value; 
    var testEmail = re.test(emailValue); 
    if (jQuery("input[name*='items']").is(":checked") && testEmail === true){ 
     return true; 
    } else { 
     e.preventDefault(); // prevents the form from submitting if invalid 
     jQuery('#messages').append("You must choose at least 1 image<br>Please enter a valid email"); 
     return false; 
    } 
}); 
+0

是的,这做了一个差异,但现在表单提交没有正在验证的项目...] – Grant

+1

更新了我的代码以适应我认为正在发生的情况 – LoganRx

+0

谢谢,它是基本的东西... :)现在完美地工作 – Grant