2014-10-01 87 views
0

SchoolI有一个jQuery脚本,用于验证表单中的电子邮件字段。该脚本确保表单只接受以特定域名结尾的电子邮件地址。但是,在我的表单中,我有另一个字段,用户可以确定它们是员工,教师还是其他人员。如果他们选择其他,我想放弃电子邮件验证,并让用户输入任何有效的电子邮件地址。这是我的一些相关代码。任何帮助是极大的赞赏。执行或不执行基于表格选择的Jquery脚本

<script> 
 
$.validator.addMethod(
 
     "regex", 
 
     function(value, element, regexp) { 
 
      var re = new RegExp(regexp); 
 
      return this.optional(element) || re.test(value); 
 
     }, "<span class='error2'>You must use your School email address.</span>" 
 
); 
 
\t $().ready(function() { 
 
\t \t // validate the comment form when it is submitted 
 

 
\t \t // validate signup form on keyup and submit 
 
\t \t $("#helpdeskform").validate({ 
 
\t \t \t rules: { 
 
\t \t \t \t email: { 
 
\t \t \t \t \t required: true, 
 
\t \t \t \t \t email: true, 
 
      \t \t regex: '^[a-zA-Z0-9_.+-][email protected]|student.domain.edu+$' 
 
\t \t \t \t }, 
 
\t \t \t \t agree: "required" 
 
\t \t \t }, 
 
\t \t \t messages: { 
 
\t \t \t \t email: { 
 
      \t required: "Please enter a valid email address", 
 
     \t \t }, 
 
\t \t \t \t agree: "Please accept our policy" 
 
\t \t \t } 
 
\t \t }); 
 

 
</script>
<form method="post" id="helpdeskform" name="helpdeskform" action="tracking.injector2.php"> 
 
    
 
      <table width="760" border="0" style="margin: 0 20px 0 20px;"> 
 
    
 
       
 
       
 
      <tr> 
 
      <td><label for="user">Choose One:</label></td> 
 
      <td> 
 
       <select name="user" id="user"> 
 
       <option value="student">Student</option> 
 
       <option value="staff">Staff</option> 
 
       <option value="faculty">Faculty</option> 
 
\t \t \t \t <option value="other">Other</option> 
 
      </select></td> 
 
      
 
      </tr> 
 
      </table> 
 
<input type="submit" name= 'add' value="Submit" />

回答

0

你可以把监听器表单的提交事件,然后做出你需要验证,如果他们去好了,然后让提交表单本身或中断程序提交。

$('#helpdeskform').submit(function() { 
    if($('#user').val() != 'other') { 
     //Invalidate form and then cancel the submit 
     return false; 
    } 
}); 
+0

我可能不清楚。在现实中,表格比上面的要大得多,我只是把相关内容包含进来。因此,我不想完全取消提交表格。所有我想要的都是无视该规定,如果公司中选择了其他人,则需要电子邮件才能拥有某个域 – user1311541 2014-10-01 19:09:47