2009-07-02 2 views
0

ユーザーが送信ボタンをクリックすると、フォームを送信します。しかし、これが起こる直前に、私はウィンドウを開いて、いくつかのデータを入力する必要があります。彼らがこれを行い、それらの子ウインドウを閉じると、私はPOST要求をしたい。POSTリクエストの開始、アクションの実行、投稿完了のリクエスト - 方法

これは可能ですもしそうならどのように?私はウィンドウが閉じた後で助けが必要です、どうすればそのPOSTリクエストを続けることができますか?

は感謝すべて

+0

子ウィンドウからのデータを元の投稿と一緒に送信しますか? – Stobor

+0

いいえ、子ウィンドウは何も送信しません。ちょっとした追加情報:子ウインドウは実際に親ウインドウの機能を起動して「すべてがOKです」と表示され、フォームを送信できます。 – Abs

答えて

1

はあなただけ追加できませんでした

onunload=parent.form.submit()? 

http://www.w3schools.com/jsref/jsref_onunload.asp

+0

私はその美しい機能について知りました。ご返信ありがとうございます。 [SOLVED] – Abs

+0

しかし、ユーザーが記入しなくても、フォームを送信するのは、ページを出るだけです。 –

+0

window.close()を呼び出す前にonloadハンドラをフックしていない場合。 –

1

あなたはこのような何かを行うことができます。..(コードが簡素化されることに注意し、あなたはおそらく、より良い、それを構造化することができます)

これは、次の形式のメイン文書にあります。

var childFilled = false; 
myForm.onsubmit = function() { 
    if(!childFilled) { 
     window.open(...); 
     return false; 
    } 
}; 

function submitFormFromChild() { 
    childFilled = true; 
    myForm.submit(); 
} 

、ウィンドウのコードでは、あなたがこのようなものがあります:

window.onunload = parent.submitFormFromChild; 

、テストされていない証明されていないが、一般的な概念は=このようなものである)を

0

明確にする:あなたが尋ねるためのもの(ブラウザでフォーム提出を傍受する方法について質問しました。

あなたの投稿のタイトルは、非同期HTTP POST操作を実行する方法を尋ねていることを意味し、何か他のことをしてから、そのHTTP POST操作が完了するのを待っています。そのプロセス全体は必ずしもユーザーのやりとりに関係するものではなく、HTMLフォームの提出に必ずしも関連しているわけではありません。質問する内容と同じではありません。

関連する問題