行ごとにpdfファイルをダウンロードするための列が1つあるグリッドビューがあります。「window.location.href」を使用して別のページから PDF ファイルを作成およびダウンロードする JavaScript 関数を起動します。現在、いくつかのボタンのClientclickで、forループがgridviewの各行を読み取り、(グリッドでPDFをダウンロードするためにグリッドで使用したボタンの)クリックイベントを発生させて、一度に複数のPDFファイルをダウンロードするjavascript関数を呼び出しています。行。この手法を使用すると、最後の行のみの詳細を含む PDF のみを取得できます。つまり、各行のクリック イベントを発生させた後、PDF を 1 つだけ取得します。
質問する
1696 次
1 に答える
1
私は次のことを行います:
- exchange.js JavaScript ファイルを head セクションに含めます。
- ページの読み込み時にエクスチェンジャー オブジェクトを初期化します。
theBuffer = new exchanger('dwnld');
ファイルのダウンロードを開始するたびに呼び出す JavaScript 関数を作成します。
function downloadFile(){ // you can add parameters to the function as needed to pass in dynamic data sent to the back end download handler data = "http://your_backend_file_download_handler.php?param1=val1¶m2=val2&etc=whatever"; // send whatever data you need to the php program via query string parameters theBuffer.sendData(data); // initiate the file download }
注: リクエストを処理する php バックエンド ファイル ダウンロード プログラムは、ダウンロード用の正しいデータ/ファイルをまとめたり取得したりするために、送信したパラメーターに対して必要なことは何でも行うことができます。多くのことをいじくり回した後、この組み合わせは私にとって一貫して機能するものです
この小さな html を body セクションに含めます。私は通常、body の終了タグの直前に置きます。
<iframe name="dwnld" id="dwnld" style="width:0;height:0;border:0"> </iframe> Note: the id value assigned to the iframe is the same value given in step 2 when initializing.
その結果、実際のダウンロードは別のページ (別名 iframe) で処理されるため、ユーザーが現在のページを離れてファイルをダウンロードすることはありません。私は何年もの間、すべてのプロジェクトで問題なく使用してきました。
于 2013-07-24T12:17:40.983 に答える