2012-01-08 7 views
1

私のアプリケーションは、FileResult(添付ファイル)を返すアクションを呼び出すform.submit()を実行します。提出する前に、私はjavacriptを持っています。 "please wait" div。結果が返ってきたらそれをクリアする必要があります。ページを書き込むレスポンスを返すアクションの場合、window.onloadイベントを使用してdivをクリアしますが、添付ファイルが返されたときにそのイベントは発生しません。mvc FileResultを返した後にjavascriptイベントが必要

submitが非同期であるため、form.submit();HidePleaseWait()のような動作をしません。添付ファイルが返されたときに起動する他のイベントはありますか?または、同じレスポンスでページを更新できるように、複数のActionResultを組み合わせる方法はありますか?

答えて

1

jQueryを使用している場合は、次の操作を行う必要があります。

$('selector').submit(function(event){ 
    event.preventDefault(); 
    // @Hiding 
    // Do your AJAX call 
    $.ajax({ 
     url: "test.html", 
     success: function(){ 
      // @What to do when done 
     } 
    }); 
}); 
+0

+1なぜ、 'event.preventDefault();'? – gdoron

+0

「何をやるべきか」ブロックで私は何をしますか?私は私のpleasewaitのdivを隠すことができることを知っているが、私はまた、添付の応答を処理する必要があります。私はコンテンツを置き換えるなど、私の持つ「通常の」応答を処理する方法を知っていますが、これを処理する方法はわかりません。 –

+0

ページを再読み込みせずにフォームを送信する場合は、AJAX呼び出しに変更します。ブラウザがアクションアドレスに移動しないようにします。 –

関連する問題