我一直在敲我的头靠在这个墙上和搜查本网站和其他关于如何解决:附加FPDF结果PHP形式
我有两种形式,一种在一个弹出窗口,用户完成对填写报价单,然后该对话框关闭,并返回主表单,以便与客户沟通并附上报价的PDF。一切工作正常,直到我试图不打开它在新窗口或附加到现有的形式。我已经成功通过ajax调用它,但我没有收到结果,尽管它在服务器上创建的临时文件是正确的。
JS提交报价,以makepdf.php:
$pdf_filename = tempnam(sys_get_temp_dir(), "pdf");
if(!file_exists($pdf_filename) || is_writable($pdf_filename)){
$pdf->Output($pdf_filename, "F");
} else {
exit("Path Not Writable");
}
$pdf->Output($pdf_filename, F);
echo $pdf_filename;
它不是写结果到qmessage格,但在保存文件:
function generatepdf(forminfo) {
$.ajax({
url: $(form).attr("action"),
type: 'POST',
data: forminfo,
beforeSend: function() {
$("#qmessage").html("Preparing quote..");
},
success: function(data) {
$("#qmessage").html(data);
//$('.multifile:last').val(data);
}
});
};
makepdf.php的PHP服务器。我没有看到一种合理的方式将服务器端文件附加到现有的<input type="file" class="multifile">
字段中。
编辑:这两种形式都在同一页上,所以将它们之间的变量不会是一个问题。它是获得FPDF输出回到页面,并将其附加到其他窗体(这应该可以通过.val()函数执行?)
澄清:没有要求将文件保存到服务器,我只需要将其重新发回父窗体发送到客户端。我去了这个方向,因为我认为这可能会简化结果。 – 2014-11-06 19:41:28