2014-10-04 65 views
0

我需要你的幫助或來自輸出文件pdf與jQuery的建議。我有輸出文件的問題,因爲pdf文件沒有出來。這個腳本jQuery和HTML:用Jquery輸出文件PDF

<script> 
$("#msg").hide(); 
$("button").click(function() { 
    var subject = $("#subject").val(); 
    var client = $("#client").val(); 

    $.ajax ({ 
     url: "http://localhost/report/fpdf_report.php", 
     type: "POST", 
     data: { subject: subject, client: client }, 
     success: function(data) { 
      $("#msg").html(data); 
      $("#msg").fadeIn("slow").delay(2000); 
     }, 
     error: function(xhr) { 
      alert(xhr+"error"); 
     } 
    }); 
}); 
</script> 

<input type="text" id="subject" /> <input type="text" id="client" /> <input type="text" id="client" /> <button>PDF</button> <br /> <div id="msg"></div>

所以對於PHP腳本轉換PDF:

<?php 
$subject = $_POST['subject']; 
$client = $_POST['client']; 
require ('fpdf/fpdf.php'); 
$pdf = new FPDF(); 
$pdf -> AddPage(); 
$pdf -> SetFont('Arial','B',20); 
$pdf -> Cell(40,10,$subject); 
$pdf -> Cell(50,20,$client); 
$pdf -> Output(); 
?> 

回答

0

你的PHP腳本的結果是PDF文件,所以你不能使用DIV。

你需要像一個object元素:

<object id="msg" type="application/pdf" data="test1.pdf"> 
Unable to open the PDF file. 
</object> 

,你需要保存在一個文件中的PDF結果做這樣的事情:

$filename = '/path/of/my/file/test.pdf'; 
$pdf -> Output($filename, 'F'); 
echo $filename; 

所以使用jQuery,你需要更改對象元素的de數據屬性,以及Ajax POST的結果(結果將成爲PDF文件的名稱)。

$.ajax ({ 
     url: "http://localhost/report/fpdf_report.php", 
     type: "POST", 
     data: { subject: subject, client: client }, 
     success: function(data) { 
      $("#msg").attr("data", data); 
     }, 
     error: function(xhr) { 
      alert(xhr+"error"); 
     } 
    }); 
+0

親愛的Tenhsor,感謝您的幫助:D – akashi 2014-10-09 13:05:11