我有一个简单的下载表单,在提交时我希望用户能够下载PDF并在同一时间打开感谢页面。
我尝试使用window.open以及几种PHP方法(标题)。虽然PHP方法正在弹出下载pdf屏幕,但页面没有重定向到感谢页面。
任何人都可以使用JS或PHP帮助吗?
我对任何一个都不是那么精明 - 如果你能分享整个代码,我将非常感激。谢谢! :)
答案 0 :(得分:2)
最好的方法是正常打开thankyou表单,然后暂停(使用setTimeout
),使用window.open("url", "_blank")
打开PDF下载。
答案 1 :(得分:1)
您需要3个文件:
您的文件与表单页面具有:
<form action="thanks.php" id="form" method="POST"><!-- your form content and a submit button here--></form>
thanks.php 页面,其中包含:
<iframe src="download_pdf.php" style="display:none;" />
<?php
$file = 'filename.pdf';
if(!file){
die('Error: file not found');
}else{
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
readfile($file);
}
?>
答案 2 :(得分:0)
在将任何其他内容发送到浏览器之前,您只能使用header()进行PHP重定向。页面加载后,您将需要使用JS。这对JS来说很简单:
window.location = "http://example.com";
但是,我会问一次加载两个窗口。显示“谢谢”页面可能更容易,并提供可在该页面上查看/下载PDF的链接。
答案 3 :(得分:0)
实际上,用户不应该重复使用感谢页面网址重复下载pdf,这将首先取消获取用户信息的目的。因此,在您可以显示下载的感谢页面中需要超时。但请检查一下你是否可以通过弹出窗口以某种方式掩盖thankyou页面的URL。