2011-08-16 4 views
-1

誰かが私にその可能性があるかどうか教えてもらえますか?jQuery - ポップアップの質問を表示するためのクレジットカード処理を停止する

クレジットカードの取引を処理するためのチェックアウトフォームがあります。

送信ボタンをクリックすると、特定のオプションがオンになっているかどうかを確認したいと思います。 チェックされている場合は、クレジットカードを処理してください。 チェックされていない場合は、プロセスを停止して、オプションについての確認をユーザーに求めるポップアップを表示します。

このポップアップが閉じられるまで、フォームの送信を停止することは可能ですか?

+0

i)は(関数が提出するjQueryのサイトでご覧ください。私は実際にフォームを提出しようとしていないか、フォームを提出しようとしていないので、これは私に役立つとは思わない、私は実際に提出を一時停止し、ユーザーにボックスをチェックする最後のチャンスを与えたい。 – Stefan

答えて

1

はい。送信ボタンにonclickイベントを追加します。 onlcickがfalseを返すと、フォームは送信されません。ここでできることは、オプションをチェックすることです。提出する場合はtrueを返します。最初にポップアップを行う必要がある場合は、ポップアップが完了するまで関数から戻りません(そしてtrueを返します)。これにより、必要に応じて投稿をキャンセルすることもできます(ユーザーが投稿しないようにポップアップ中に決定した場合)、falseを返します。

<input type="submit" value="submit" onclick="return popupcheck()" /> 

私はあなたが使用しているポップアップのどのようなわからないんだけど、ここではjavascriptのためのいくつかの提案の擬似コードです:

function popupcheck(){ 
    if(optionischecked){ 
     return true //the form will submit 
    } 
    create/show popup 
    return false  //the form will not submit (call popupisdone when the popup is done) 
} 
function popupisdone(){ //wire this up to be called when the popup is done 
    $("#ccform").submit() //unless there is some sort of cancel submit option in the popup 
} 
+1

ポップアップが作成されるとすぐに関数がvoidで返されるため、これが機能するかどうかわかりません。彼らがyesをクリックしたときに$( '#theForm')。submit()を呼び出すと良いでしょう。ダイアログを作成するonclick関数で常にfalseを返します。 – GBa

+1

このメソッドは、終わらせる。これを反映するように編集する – yoozer8

+0

これはすばらしく、助けてくれてありがとうグレッグ。プラグインして、それを学ぶために最善を尽くしてください。 – Stefan

関連する問題