使用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();
});
