使用jqprint來打印form表單中的內容時。會出現input、textarea標簽里的東西無法打印。
jquery打印原理:jqprint打印方式是把打印區域的html內容處理到新的iframe中,然后打印。
這樣的一個機制下,input、textarea當中的內容如果是通過jquery賦值、手動輸入,那么在打印的時候是不會有內容的。
解決辦法:
在jqprint()之前,執行下面的方法:
1.input屬性賦值:使input標簽的value屬性內有你要打印的內容。
2.textarea: 將標簽內的內容,賦給textarea的html。
textarea處理方式如下:
// 打印表單 $('#print').on('click', function () { var $iframes = $('#form_list_iframes'); var iframeId = $iframes.find('.form-list-iframe.active').attr('id'); var $iframe = learun.iframe(iframeId, frames); //=============hujie20191231==調整textarea在打印時不顯示的問題====開始======== var lstTextarea = $iframe.$('textarea'); if (lstTextarea) { for (var i = 0; i < lstTextarea.length; i++) { $(lstTextarea[i]).html(lstTextarea[i].value); } } //=============hujie20191231==調整textarea在打印時不顯示的問題====結束======== $iframe.$('.lr-form-wrap:visible').jqprint(); });