textArea打印时,内容不显示

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

  

posted @ 2019-12-31 13:47  秋飘  阅读(1436)  评论(0编辑  收藏  举报