我有一个表单,我可以提交给SQL或转换为PDF进行下载,但我没有运气这样做。
期望的行为 - >表格已提交 - >数据发送到SQL - >用户将被定向到填充PDF以供下载。
当前行为 - >表格已提交 - >数据发送到SQL - >没有其他事情发生
这是将表单发送到多个源代码的java代码。理想情况下,我希望表单提交,然后将用户(没有iframe)重定向到pdf页面。
<script language="javascript">
function OnButton1()
{
document.Form1.action = "/sqlsubmit.php" // First target
document.Form1.target = "iframe1"; // Open in a iframe
document.Form1.submit(); // Submit the page
document.Form1.action = "/returnslip.php" // Second target
document.Form1.target = "iframe2"; // Open in a iframe
document.Form1.submit(); // Submit the page
return true;
}
</script>
<div style="visibility:hidden">
<iframe NAME="iframe1" WIDTH="40" HEIGHT="40"></iframe>
<iframe NAME="iframe2" WIDTH="40" HEIGHT="40"></iframe>
</div>
答案 0 :(得分:0)
更好的方法是
- 表单由ajax提交并发送到服务器
- 发送到SQL的数据
- 生成PDF文件并将其保存在服务器上
- 服务器发送响应链接到PDF
- 用户通过链接重定向以查看和下载PDF
醇>
<强> HTML 强>
<form method="POST" onsubmit="return jFormer(this)">
...
</form>
<强> JS 强>
function jFormer(form) {
var $form = $(form);
var info = $form.serialize();
$.ajax({
type: 'POST',
url: 'http://your-php.com', // replace !!!
data: info,
success: function(link) {
window.location = link; // Link to PDF, server responce
}
});
return false;
}
<强> PHP 强>
if (isset($_POST['var_name1'])) {
//1. Insert to DB all you need
//2. Create PDF and save it
echo $link; // Link to PDF
}
备注强>