2009-07-16 2 views
1

ユーザーが特定の基準を満たしている場合は、フォームの下部または警告にプロモーションメッセージを挿入する必要があります。私は、アラートが最も良いかもしれないと思います。それは特定のポストコードと関係がありますので、私は正規表現を書く必要があります(私はまだこれをしていません)。ユーザーが「送信」をクリックしてからサーバーに行く前に、それが発生する必要があります。私はこれをどのように書くべきか、それをスクリプトに入れるべきかどうかはわかりません。これは私がこれまで役立っていたものです。JQueryとプラグインの検証 - 投稿時にプロモーションメッセージを追加する方法

$(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'); 
+2

をしてくださいプロモーションをアラート()として表示しないでください。 – anschauung

答えて

0

送信ボタンをとjQueryでその

$("#submit").click(function(){ 
    alert("This is a promotional message on submit"); 
    //here write ur ajax code. 
}); 

ajaxにAJAX機能を呼び出すためのクリック機能を記述します。

+0

申し訳ありませんまだAJAXを学んでいません。私はこのすべてに新しいです –

0

validateメソッドのオプションとしてsubmitHandlerを指定する必要があります。

1

あなたはこのような何か(これは行動を提出し、デフォルトを置き換えます)行うことができる必要があります:、

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

私はpostcodesを検証するために必要な正規表現を持っています、これは/ [MK] {2} [1-15 | 17 | 19 | 77] {2}/ メッセージですあなたは特別賞を獲得するために競争に参加しました。 この情報をsubmitHandlerに追加するにはどうすればよいですか? 申し訳ありませんが、私はこのすべてに非常に新しいです –

+1

フォームを送信するために必要なコードは何ですか?それはform.submit()ですか? – jrutter

0
submitHandler: function(form) { 
    if ($("form #hasAsked").val() != 'true' && /[MK]{2}[1-15|17|19|77]{2}/.test($("#shipPostalCode").val()) { 
     openModalDialog(); 
     return false; 
    } 
    return true; 
}, 
... 

アンどこでもウェブユーザーに代わって機能

function openModalDialog() { 
    $("<div>Wanna buy?? <button value="yes" id="y/><button value="no" id="n/></div>") 
      .after("body p:first-child") 
      .show('slide') 
      .find("#y, #n").click(function() { $("form #hasAsked").val("true") /* default: false */; }) 
      .end() 
      .find("#y") 
      .click(function() { $("form #hiddenbuy").val("true"); }) 
      .end() 
      .find("#n") 
      .click(function() { $("form #hiddenbuy").val("false"); }) 
} 
関連する問題