1

ページの 1 つに確認ステップがあります。

希望するアクション:

  • ユーザーが「送信」をクリックすると、適切なアクションを実行して確認ダイアログを返す AJAX 要求が作成されます

  • ユーザーが「確認」すると、標準の投稿を使用してフォームが送信されます。

したがって、最初の部分では、jQuery フォーム プラグインを使用して問題ありません。

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

2 番目の部分では、フォームをもう一度送信したいのですが、ajax ではありません。基本的に私はこれをしたい:

$('form').submit();

そして、実際のブラウザ投稿を行います。問題は、$('form').submit() が単に ajax 送信をトリガーすることです。

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

4

5 に答える 5

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

..それは機能しますか?

:) :)

于 2009-06-11T18:32:08.853 に答える
0

結果を ajax で投稿した後、submit イベント ハンドラーの登録を解除することはできませんか? ところで、なぜ同じデータを 2 回投稿する必要があるのでしょうか。Ajax の投稿と通常の投稿の間でデータが変更されていない場合、なぜ通常の投稿が必要なのですか?

于 2009-06-11T14:25:23.173 に答える
0

フォームの値を変更して (隠し値を 1 に設定)、別の ajax リクエストを実行して、最後にリダイレクトを実行できます。それは同じではありませんが、うまくいくはずです。ただし、同じデータを 2 回送信するのは非常に奇妙であることに注意してください。

于 2009-06-11T14:28:17.550 に答える
0

Surya がコメントとして回答しました (この質問を再度確認する場合は、マークできるように回答を投稿してください!)


$('forms-submit-button').click() .. 2 回目の送信で動作しますか?

于 2009-06-11T14:42:38.810 に答える
0
フォーム onsubmit='ajaxCheck();'
...  
/形 脚本 var ajaxCheck = 関数() { //チェックする 確認を返します(); // OK の場合はフォームを正常に送信 / キャンセルの場合はフォームを送信しない } /脚本

またはフラグのあるもの:

var フラグ = true;

var firstCheck = 関数()
{
     if(フラグ)
     {
       // イベントを発生させる ajax Call を実行し、
       // onData と呼びましょう
       $.post(url,{param1:val1,...,paramN:valN},onData);
       false を返します。
     }
     true を返します。
}

var onData = 関数 (データ)
{
       フラグ = !確認(...);
      //ユーザーが [OK] をクリックしてフォームの再送信を試みた場合
      //今回は終わります
}

于 2009-06-11T22:05:58.340 に答える