2011-01-26 2 views
0

残念ながら、この質問は閉鎖されるかもしれませんが、私はいくつかの人々がそれに答えることを願っています。PHPがOpen/Downloadダイアログボックスを検出しています

私はいくつかのhtmlデータでExcelを開くいくつかのPHPコードを持っています。これはPHPです:

<?php 
$data = $_REQUEST['datatodisplay']; 
header("Content-Type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=Data.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

echo $data; 

?> 

そして、これは形式です:

<form class='noPrint' action='demo/saveToExcel.php' method='post' target='_blank' 
onsubmit="$('#datatodisplay').val($('<div>').append($('#dataTable').eq(0).clone()).html())"> 
<input id='excel' type='image' src='img/file.png'> 
<input type='hidden' id='datatodisplay' name='datatodisplay' /> 
</form> 

は今、このコードは素晴らしい作品、誰かがそれはつまり、これを行う方法をPHPの観点から説明することができます。私はフォームを提出すると、一時的に新しいページを開き、ダウンロードボックスが表示され、Excelで開いてからフォームページに戻ってきます(ただしExcelも開いています)

PHPはどのように知っていますかダウンロードしてフォームページに戻るようにしましたか?

+0

あなたは本当に答えを知らないのですか?評判2,593で? – MDI

+1

私はそれを聞いていますか? Repは何も意味しません – benhowdle89

答えて

1

これはありません。ファイルがブラウザに表示されずにダウンロードされたため、ブラウザはフォームページを最初から残していませんでした。

+0

ダイアログボックスの新しい空のページが表示されます – benhowdle89

+0

@benフォームアクションは「_blank」「別名新しいページ – Basic

+0

です」ブラウザでは新しい空白ページの後にダウンロードが検出され、続いて不要なブランクページを閉じます。 –

1

PHPは分かりません - それはすべてExcelファイルを提供しています。巧妙なビットは、フォームのonsubmitメソッドで起こっているJavaScriptで起こっています

関連する問題