2009-06-11 15 views
1

私のページの1つに確認のステップがあります。jQueryフォーム - Ajaxと通常は同じフォームを送信してください

必要なアクション:

  • ユーザーが「提出」とAJAX要求は適切な処置を行い、その作られたと確認ダイアログを返し

  • ユーザーが「確認」を押した後にフォームが送信されるクリック標準の投稿を使用して私はもう一度フォームを送信したいが、非アヤックスと思います第二部について

    $('form').ajaxForm(...options...); 
    

    :jQueryのフォームプラグインを使用して

だから、最初の部分のために、私は大丈夫ですよ。基本的に私はこれをしたい:

$('form').submit(); 

実際のブラウザのポストをしてください。問題は、$( 'form')。submit()はajaxの送信をトリガーするだけです。

両方の目的でフォームを使用する方法はありますか?

+1

$( 'フォームボタンを提出')その作業を..does)(クリックし、秒。提出する? – Surya

+0

はい、うまくいきますが、面白いですが、うまくいきますが、私は満足しています。 – anonymous

答えて

2
$('forms-submit-button').click() 

..それは、2番目の提出のために機能しますか?

:) :)

0

結果をajax-postedした後に送信イベントハンドラの登録を解除できませんか?なぜ、同じデータを2回投稿する必要がありますか?データがAjax投稿と通常の投稿の間で変更されていない場合、正規のものはなぜ必要なのですか?

+0

二つの要件: 1)確認ステップは 2を必要とされている)私は、既存のDB は、だから私は両方の要求で同じ仕事の99%をやっているが、唯一の「本当の」要求はそれを持続使用する必要がありますデータベース。理想的には、最初のリクエストから作業を保存し、2番目のリクエストは保存された作業を参照するだけですが、a)セッションに頼りたくはありません。b)永続性のために新しいテーブルを作成することはできません。要求。 – anonymous

0

フォームの値を変更して(ある隠された値に1)、別のajaxリクエストを行い、最後にリダイレクトを試みることができます。それは同じではありませんが、うまくいくはずです。

+0

その確認ステップ...それはすべてを行いますが、データベースに保存するので、まったく同じデータになります。 – anonymous

+0

と私はまだあなたが2回投稿する必要がある理由を得ることができません... – Keeper

0

がコメントとしてスーリヤで回答...それはしかし同じデータを2回提出することは非常に奇妙だと注意(あなたがもう一度この質問をチェックすると、私はそれをマークすることができますので、答えを投稿してください!)


$( 'forms-submit-button')。クリック()..それは、2番目のサブミットのために動作しますか?

0
 
form onsubmit='ajaxCheck();' 
... 
/form script var ajaxCheck = function() { //do check return confirm(); // if ok form submit normaly/if cancel form doesn't submit } /script

またはフラグで何か:

 
var flag = true; 

var firstCheck = function() 
{ 
    if(flag) 
    { 
     //do the ajax Call which will fire an event, 
     // let's call it onData 
     $.post(url,{param1:val1,...,paramN:valN},onData); 
     return false; 
    } 
    return true; 
} 

var onData = function (data) 
{ 
     flag = !confirm(...); 
     //if user click ok and try to re-submit the form 
     //this time will just go 
} 

関連する問題