基于表单选择执行或不执行Jquery脚本

时间:2014-10-01 15:48:09

标签: jquery

SchoolI有一个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>"
);
	$().ready(function() {
		// validate the comment form when it is submitted

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

</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>
				<option value="other">Other</option>
            </select></td>
           
          </tr>
          </table>
<input type="submit" name= 'add' value="Submit" />

1 个答案:

答案 0 :(得分:0)

您可以在表单的提交事件上放置一个监听器,然后进行所需的验证,如果它们正常,则让表单自行提交或中断提交。

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