質問

フォームがあります。このフォームは、iframeに投稿を介して提出します。これは、リクエストが処理され、結果に応じて、提出の有効性に応じて親のコンテンツを変更するJavaScriptが実行されます。

今、私はこの手順が好きではありません。いくつかのフォームを同時に提出する機能が必要ですが、この1つの隠されたiframeしかありません。それで、私はAjaxでそれをやりたいと思います。各フォームの提出に対して個別のリクエストを作成します。

しかし、私のフォームは複雑です。これは、アレイに変数を追加するチェックボックス、クリックされた画像とそのクリック座標が送信される必要がある、そのような複雑なもので構成されています。そのため、各入力の値をそれぞれ計算してポストパラメーターに追加する代わりに、私はそのような複雑なもので構成されています。文字列(ちなみに:配列をそのように作成する方法がわかりません)、提出コンテンツをインターセプトし、それらすべてのパラメーターを含む投稿文字列として保存し、Ajaxにこの文字列を使用することを好むでしょう。リクエストを投稿します。

この機能でやりたいこと:

$('#myForm').submit(function(event){

    // process the submission, e. g. event.getContent().toPostString();

    // create the AJAX request and send it and attach listeners (I know how to do this line ;)

    return false; // I don't want the form submitted (to the iframe)

});

前もって感謝します!

役に立ちましたか?

解決

iframeを使用しないでください、ただ使用してください jQueryのajaxメソッド: :(使用しました post() 以下の例で)

$('#myForm').submit(function(event){

             //url          //post data
    $.post(this.action, $(this).serialize(), function(returnData){
           //do something with returnData
    })

    return false; //do not submit form the normal way

});

これが例です: http://jsfiddle.net/maniator/y6r8e/
フォームに何かを入力して送信します。

他のヒント

jQuery's シリアライズ() 関数は、.ajax()または.post()を介して簡単なフォームの提出を可能にするために、フォームデータを収集します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top