Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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
Javascript 验证插件-使用submitHandler_Javascript_Jquery_Validation - Fatal编程技术网

Javascript 验证插件-使用submitHandler

Javascript 验证插件-使用submitHandler,javascript,jquery,validation,Javascript,Jquery,Validation,我很抱歉,如果你已经看到这一点或回答了,但我似乎无法找到我最初提交的问题,我迫切需要一个解决方案 我需要在用户单击提交时显示促销消息,如果 他们符合邮政编码的某些标准。我听说你 应该使用submitHandler,但对JavaScript来说是全新的 甚至在JQuery更新的版本中,我对如何编写有点困惑 这我以为会是这样,但很明显 不起作用 submitHandler: function(form) { var special = /^[T]{1}[A]

我很抱歉,如果你已经看到这一点或回答了,但我似乎无法找到我最初提交的问题,我迫切需要一个解决方案

我需要在用户单击提交时显示促销消息,如果 他们符合邮政编码的某些标准。我听说你 应该使用submitHandler,但对JavaScript来说是全新的 甚至在JQuery更新的版本中,我对如何编写有点困惑 这我以为会是这样,但很明显 不起作用

submitHandler: function(form) { 
                    var special = /^[T]{1}[A]{1}([1-13|17|25]){2}/.test(value); 
                    if (special); 
                    alert('You have been entered into a competition to win a special    prize'); 
                    form.submit(); 
            }, // end of submitHandler 
我基本上需要这个消息显示时,他们点击提交和 然后他们进行确认,表单就会发送到服务器

这是我到目前为止为验证而编写的代码:

 $(document).ready(function(){ 
 $("#orderForm").validate({ 
            onfocusout: function(element) { 
                    this.element(element); 
            }, 
            rules: { 
                    firstName: { 
                            required: true, 
                    }, 
                    surname: { 
                            required: true, 
                    }, 
                    phoneNumber: { 
                            required: true, 
                    }, 
                    streetName: { 
                            required: true, 
                    }, 
                    city: { 
                            required: true, 
                    }, 
                    postalCode: { 
                            required: true, 
                            shipPostalCode: true, 
                    }, 
                    billEmailAddress: { 
                            required: true, 
                    }, 
                    billPhoneNumber: { 
                            required: true, 
                    }, 
                    promoCardNumber: { 
                            required: true, 
                            fidelityCardNumber: true, 
                    }, 
                    billCardNumber: { 
                            required: true, 
                    }, 
                    billCardType: { 
                            required: true, 
                    }, 
            }, //end of rules 
    }); // end of validate 
    }); // end of function 


$.validator.addMethod('postalCode', function (value) { 
            return /^[A-Z]{2}\d{1,2}\s\d{1}[A-Z]{2}$/.test(value); 
            }, 'Please enter a valid postcode'); 
$.validator.addMethod('promoCardNumber', function (value) { 
            return /^[A-Z]{1}([A-Z]|\d){4}\s?([A-Z]|\d){5}\s?([A-Z]|\d){3}\d{1}$/.test  (value); 
            }, 'Please enter a valid card number'); 
这是我的html代码:

   <form id="orderForm" method="post" action="x"> 
  <table id="formTable" cellpadding="5"> 
    <tr> 
      <td> 
        <h3>Shipping and Billing Information</h3> 
      </td> 
      <td>&nbsp;</td> 
    </tr> 
    <tr> 
      <td><label for="firstname">First Name</label></td> 
      <td><input id="firstName" type="text" name="firstName" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="surname">Surname</label></td> 
      <td><input id="surname" type="text" name="surname" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="phoneNumber">Contact Telephone Number</label></td> 
      <td><input id="phoneNumber" type="text" name="phoneNumber" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="streetName">Street Name</label></td> 
      <td><input id="streetName" type="text" name="streetName" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="city">City</label></td> 
      <td><input id="city" type="text" name="city" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="postalCode">Post Code</label></td> 
      <td><input id="postalCode" type="text" name="postalCode" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="billEmailAddress">Email address</label></td> 
      <td><input id="billEmailAddress" type="text" name="billEmailAddress" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="billPhoneNumber">Contact Telephone Number</label></td> 
      <td><input id="billPhoneNumber" type="text" name="billPhoneNumber" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="promoCardNumber">Promotional Card</label></td> 
      <td><input id="promoCardNumber" type="text" name="promoCardNumber" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="billCardNumber">Credit Card Number</label></td> 
      <td><input id="billCardNumber" type="text" name="billCardNumber" maxlength="30" /></td> 
    </tr> 
    <tr> 
      <td><label for="billCardType">Credit Card Type</label></td> 
      <td><select id="billCardType" name="billCardType"> 
        <option value="..."> 
          Choose your card... 
        </option> 
        <option value="visa"> 
          Visa 
        </option> 
        <option value="mastercard"> 
          Mastercard 
        </option> 
      </select></td> 
    </tr> 
    <tr> 
      <td><label for="instructions">Instructions</label></td> 
      <td> 
      <textarea id="instructions" name="instructions" rows="8" cols="30"> 
Enter your requirements here or comments. </textarea></td> 
    </tr> 
    <tr> 
      <td colspan="2"><input id="submit" type="submit" name="Submit" value="Submit" /> 
              </td> 
    </tr> 
  </table> 
</form> 

装运和计费信息
名字
姓
联系电话
街道名称
城市
邮政编码
电子邮件地址
联系电话
促销卡
信用卡号码
信用卡类型
选择你的卡。。。
签证
万事达卡
说明书
在此处输入您的要求或注释。

我想你的原始问题(以及我试图回答的问题)在这里:

我想你的原始问题(以及我试图回答的问题)在这里:

啊,是的,你写了,[code]$(“#orderForm”).validate({submitHandler:function(form){//code显示个人消息//code处理表单提交},onfocusout:function(element){…[/code]正如你所看到的,我试图编写它,但我真的不知道该如何编写它。我有它的元素,只需要将其拼凑在一起。你把submitHandler方法放在哪里了?它应该是传递给$(“#orderForm”)的对象的一部分。验证。在submitHandler方法中,你可能想调用$(form).ajaxSubmit();(如果您使用的是jQuery表单插件)而不是form.submit(),因为(我认为)验证插件取消了默认的提交行为,所以调用form.submit()命令只会重新触发验证。在关闭规则之前,我已将submit处理程序放在其他规则下。但错误控制台不喜欢这样,并说我有语法错误。我应该将其放在规则之后吗?听起来好像您已将submitHandler指定为rules对象的属性。submitHandler应该是成员而不是options对象(要传递以验证的对象;这也是代码中包含规则和onmouseout的同一个对象)。我有它在规则之外,但仍在验证中,它仍然不起作用。控制台中没有错误,因此它必须与我的逻辑有关。一切正常,但当我单击“提交”时,它会转到服务器,而在我输入符合条件的邮政编码时,不会显示一条消息。我的提交者代码Is:submitHandler:function(form){var special=/^[TA]{2}([1-11 | 20 | 22]){2}/.test(value);if(special){alert('You will receive a special gift');}form.submit();我认为里面的代码不对,但我不知道应该放什么是的,你写了,[code]$(“#orderForm”).validate({submitHandler:function(form){//code显示个人消息//code处理表单提交},onfocusout:function(element){…[/code]正如你所看到的,我试图编写它,但我真的不知道该如何编写它。我有它的元素,只需要将其拼凑在一起。你把submitHandler方法放在哪里了?它应该是传递给$(“#orderForm”)的对象的一部分。验证。在submitHandler方法中,你可能想调用$(form).ajaxSubmit();(如果您使用的是jQuery表单插件)而不是form.submit(),因为(我认为)验证插件取消了默认的提交行为,所以调用form.submit()命令只会重新触发验证。在关闭规则之前,我已将submit处理程序放在其他规则下。但错误控制台不喜欢这样,并说我有语法错误。我应该将其放在规则之后吗?听起来好像您已将submitHandler指定为rules对象的属性。submitHandler应该是成员而不是options对象(要传递以验证的对象;这也是代码中包含规则和onmouseout的同一个对象)。我有它在规则之外,但仍在验证中,它仍然不起作用。控制台中没有错误,因此它必须与我的逻辑有关。一切正常,但当我单击“提交”时,它会转到服务器,而在我输入符合条件的邮政编码时,不会显示一条消息。我的提交者代码Is:submitHandler:function(form){var special=/^[TA]{2}([1-11 | 20 | 22]){2}/.test(value);if(special){alert('your will receive a special gift');}form.submit();我认为里面的代码不对,但我不知道应该放什么