不幸的是,这个问题可能会被关闭,但我希望有人回答这个问题。
我有一些PHP代码打开excel,其中包含一些html数据。这是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 :(得分:1)
PHP不知道 - 它正在做的就是提供一个excel文件。聪明的一点发生在表格的onsubmit
方法上发生的JavaScript中
答案 1 :(得分:1)
没有。您的浏览器从未离开过表单页面,因为文件已下载而不是在浏览器中显示。