JQuery Print, 透過JQuery列印出表單
今天要介紹的元件是JQuery的擴充套件,可以透過它列印出網頁上的一個元素,比如說一個<div>的內容,但是下面的內容會更衍生
範例將會印出一個任意排列好的版型,比如可以排好一張報名表列印出來
參考文件 :jQuery Print Plugin
步驟一 :下載 JQuery Print 並include到頁面上
下載Github上的專案,解壓縮後放到自己專案的資料夾上,並且include到頁面中
1 |
<script type="text/JavaScript" src="path/to/jquery.print.js" /> |
步驟二 :使用方式
依照作者的說明文件,可以這麼做,透過element.print()帶入列印參數就可以在瀏覽器上帶出列印畫面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$("#myElementId").print({ globalStyles: true, mediaPrint: false, stylesheet: null, noPrintSelector: ".no-print", iframe: true, append: null, prepend: null, manuallyCopyFormValues: true, deferred: $.Deferred(), timeout: 750, title: null, doctype: '<!doctype html>' }); |
步驟三 :印出一張表單
印要出表單我們必須要準備幾項東西
- 要印出的表單HTML
- 給JQuery print列印的element
首先假設我印要出來的表單HTML長這樣子,當然你們可以隨意的排版
1 2 3 4 5 6 7 8 9 10 |
<table> <tr> <td>Name :</td> <td></td> </tr> <tr> <td>Email :</td> <td></td> </tr> </table> |
接著下面的步驟將透過JQuery產生一個id=print_area的div,並且將要列印的html放入,print之後再將print_area移除掉
1 2 3 4 |
var print_area = $("<div></div>").attr('id', "print_area").html(html); $("body").append(print_area); $("#print_area").print({globalStyles: false, iframe: false}); $("#print_area").remove(); |
其中globalStyles: false 代表列印時不帶入網頁中的style,這樣可以避免列印出來的表單因為網頁上的css設定而有不一樣的外觀
iframe: false代表不透過iframe
以上這個做就會看到瀏覽器另外跳出視窗帶出直接列印的功能啦
首頁 » 技術文章 » 其他類型 » JQuery Print, 透過JQuery列印出表單