2016-09-02 11 views
0

JavaScriptを送信するアクションを防ぐために、ページをオーバーレイするなど、ページを無効にする方法はありません。JavaScriptの送信を無効にする(ファイルのダウンロード中)

function AgendaMinutes() { 
    var id = '@Model.ID'; 
    var form = $('<form method="POST" action="AgendaMinutes">'); 
    form.append($('<input type="hidden" name="dprid" value="' + id + '">')); 
    $(body).append(form); 
    form.submit().remove(); 
    return false; 
} 

これは、クライアントにPDFを生成して送信する際の魅力のように機能しますが、ボタンを2回以上クリックすることができます。私はボタンを無効にすることができますが、私はそれをリリースできるようにPDFが返された時をどのように知っていますか?

+0

このようなオーバーレイを作成しないのはなぜですか?http://www.w3schools.com/howto/howto_js_fullscreen_overlay.asp – Ish

+0

経験から、これは信頼性の高いブラウザを作れるように苦労することがあります。実際のPITA(少なくとも2年前) –

+0

「クライアントにPDFを送信する」方法は明確ではありません。新しいウィンドウ/タブで最も簡単な方法は、進行状況インジケータを取得することですあなたのページは完了時(他のタブがそれを扱うとき)を知る必要はありません。 –

答えて

1

が、どのようには、[私はページを再度有効にすることができるように] PDFが返されたとき、私は知っている

ファイルをダウンロードし、完了すると、「知っている」のための最も簡単なオプションファイルを新しいウィンドウ/タブにtarget="_blank"経由で送信します。

このようにして、ユーザーは進行状況インジケータ(ブラウザ経由)を取得し、完了した時点(他のタブが処理している)を知る必要がないため、すぐに再度有効にすることができます。

ページが何らかの理由で待機する必要がある場合、続行する前にドキュメントを生成する必要がある場合は、代わりの解決策が必要です。この場合、を生成し、サーバー上のファイルクライアントへのダウンロードリンクを提供します。

関連する問題