使用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(); });
原文地址:https://www.cnblogs.com/qiupiaohujie/p/12124037.html
时间: 2024-10-09 06:43:26