JQuery和验证插件 - 如何在提交时添加促销信息 [英] JQuery and validate plugin - how to add a promotional message on submit

查看:64
本文介绍了JQuery和验证插件 - 如何在提交时添加促销信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在表单底部或在用户符合特定条件时发出警报时发送促销消息。我认为警报可能是最好的。这与某些邮政编码有关,所以我需要写一个正则表达式(我还没有这样做)。它需要在用户单击提交时以及在进入服务器之前发生。我不确定如何写这个以及它应放在我的脚本中的哪个位置。如果它有帮助,这就是我到目前为止所拥有的。

I need to put a promotional message either at the bottom of the form or in an alert when a user meets certain criteria. I think an alert might be best. It's to do with certain postcodes so I will need to write a regex (I haven't done this yet). It needs to happen when the user clicks submit and before it goes to the server. I'm not sure how to write this and where it should be placed in my script. This is what I have so far if it helps.

$(document).ready(function(){
$("#orderForm").validate({
    onfocusout: function(element) { 
        this.element(element); 
    },
    rules: {
        shipFirstName: {
            required: true,
        },
        shipFamilyName: {
            required: true,
        },
        shipPhoneNumber: {
            required: true,
        },
        shipStreetName: {
            required: true,
        },
        shipCity: {
            required: true,
        },
        billEmailAddress: {
            required: true,
        },
        billPhoneNumber: {
            required: true,
        },
        billCardNumber: {
            required: true,
        },
        billCardType: {
            required: true,
        },
        shipPostalCode: {
            postalCode: true,
        },
        fidelityCardNumber: {
            creditCardNumber: true,
        },
    }, //end of rules
}); // end of validate
}); // end of function

$.validator.addMethod('postalCode', 
function (value, element) 
{
      return this.optional(element) || /^[A-Z]{2}\d{1,2}\s\d{1,2}[A-Z]{2}$/.test(value);
}, 'Please enter a valid Postal Code');


$.validator.addMethod('creditCardNumber', 
function(value, element) 
{
    return this.optional(element) || /^[A-Z]{1}([A-Z]|\d){4}\s?([A-Z]|\d){5}\s?([A-Z]|\d){3}\d{1}(\!|\&|\@|\?){1}$/.test(value);
}, 'Please enter a valid card number');


推荐答案

你应该可以做这样的事情(这个将替换默认的提交行为):

You should be able to do something like this (this will replace the default submit behavior):

$("#orderForm").validate({
    submitHandler: function(form) {
        // code to display personal message
        // code to handle form submission 
    },
    onfocusout: function(element) { 
    ...

这篇关于JQuery和验证插件 - 如何在提交时添加促销信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆