js-循环调用window.print打印,想只在第一次显示弹窗,后面的弹窗均不显示

问题描述

循环调用window.print打印,想只在第一次显示弹窗,后面的弹窗均不显示 5C
使用ajax查询数据,赋值给隐藏的页面,然后调用print()进行打印
不能用插件

 var i = 0;    function printmore() {        var orderRow = $('#dg').datagrid(""getSelections"");        var len = orderRow.length;        if(i == len) {            return;        }        $.ajax({                    url : ""${pageContext.request.contextPath}/printController/printtransmore?id=""                            + orderRow[i].id                    type : ""post""                    success : function(data) {                        $(""#transNo"").html(""运单号:"" + data.first.transportNo);                        $(""#fromcompany"").html(                                data.first.fromcompanyname + ""<br/><br/>""                                        + data.first.fromprovince                                        + data.first.fromcity                                        + data.first.fromarea                                        + data.first.fromcompanyaddress);                        $(""#tocompany"").html(                                data.first.tocompanyname + ""<br/><br/>""                                        + data.first.toprovince                                        + data.first.tocity + data.first.toarea                                        + data.first.tocompanyaddress);                        $(""#fromcontact"").html(联系人:"" + data.first.fromcompanycontact                                        + ""&nbsp;&nbsp;电话:""                                        + data.first.fromcompanyphoneno);                        $(""#tocontact"").html(联系人:"" + data.first.tocompanycontact                                        + ""&nbsp;&nbsp;电话:""                                        + data.first.tocompanyphoneno);                        $(""#pusername"").html(data.trans.pagkageUserName);                        $(""#money"").html(""运费:""+data.trans.money);                        $(""#insurance"").html(""其他费用:"" + data.trans.insurance);                        $(""#payname"").html(""付款方式:"" + data.trans.payname);                        for (var a = 0; a < data.list.length; a++) {                            $(""#boxno"").html(data.list[a].boxNo);                            $(""#typename"").html(data.list[a].typeName);                        }                        $(""#wcount"").html(""总重量:"" + data.trans.weightCount);                        $(""#bcount"").html(""总件数:"" + data.trans.boxCount+""件"");                        printit('div1');                        i = i + 1;                        printmore();                    }                });    }        function printit(MyDiv)    {       //var newstr = document.all.item(myDiv).innerHTML;          var newstr = document.getElementById(MyDiv).innerHTML;            //alert(newstr);            var oldstr = document.body.innerHTML;           document.getElementById('printiframe').contentWindow.document.body.innerHTML = newstr;                document.getElementById('printiframe').contentWindow.window.print();             document.getElementById('printiframe').contentWindow.document.body.innerHTML = oldstr;      }

解决方案

必须先显示出要打印的页面,然后才能打印,什么叫不显示?

解决方案二:
这个设置是系统的,你网页上打印也会跳出来的,这本身就是一些需要用户设置或确认的信息,所以一般也是不隐藏这个对话框

时间: 2024-12-22 16:29:25

js-循环调用window.print打印,想只在第一次显示弹窗,后面的弹窗均不显示的相关文章

window.print打印指定div指定网页指定区域的方法_javascript技巧

第一种方法:指定不打印区域使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下: <style media=print type="text/css"> .noprint{visibility:hidden} </style> 要打印的内容.哈哈! <p class="noprint">将不打印的代码放在这里.</p> <a href="javascript:w

关于window.print打印 字体加粗问题

问题描述 各路大婶,请问我在使用window.print打印时,原本字体是有加粗效果的,可是为什么打印的时候,结果只有数字被加粗了,文字没有显示加粗.有解决方案吗?

c# winform调用WebBrowser.print() 打印没反应

问题描述 我使用vs2010,c#winform调用WebBrowser.print()打印,在调试的时候没问题,但打包安装后使用没反应.webBrowser1在也没加载时候就附加内容了,可以显示,我尝试方法:1.webBrowser1.ShowPrintDialog();webBrowser1.Print();2.webBrowser1.Print();,而且确定加载完才打印的.也尝试调用MSHTML.dll.请问大侠是怎么解决的,十分感谢. 解决方案 解决方案二:这个帖子怎么就沉了呢,我也是

window.print打印指定div实例代码

 window.print可以打印网页,但有时候我们只希望打印特定控件或内容,怎么办呢,请看下面的例子 首先我们可以把要打印的内容放在div中,然后用下面的代码进行打印.  代码如下: <html> <head> <script language="javascript"> function printdiv(printpage) { var headstr = "<html><head><title>&

js window.print实现打印特定控件或内容_javascript技巧

window.print可以打印网页,但有时候我们只希望打印特定控件或内容,怎么办呢? window.print打印指定div 首先我们可以把要打印的内容放在div中,然后用下面的代码进行打印. 复制代码 代码如下: <html> <head> <script language="javascript"> function printdiv(printpage) { var headstr = "<html><head&g

c#使用axShockwaveFlash 于flash通信循环调用只返回一次结果

问题描述 privatevoidbtn_Start_Click(objectsender,EventArgse){string[]ids=newstring[]{"VY0hHhftcKbmGizVfsTJF%2BH9k3bAVJSDJbSgfr,"VWQu3zfDpILOW6RfIcL6S%2B7rERYZ"};foreach(variteminids){axShockwaveFlash1.CallFunction(EncodeInvoke("getXml"

关于循环调用webservice接口疑问

问题描述 关于循环调用webservice接口疑问 想请教个问题: 一个webservice接口程序,客户端可能需要循环调用该接口,循环数据量后续可能会比较大,有点担心接口会不会因次而变得缓慢甚至挂掉 想问下,针对这种情况,接口实现或者调用时需要注意什么?大侠们有什么好的解决方案吗? 解决方案 如果采用的是没有返回值得接口,也就是没有response的接口就不会存在问题,主要的瓶颈还是在于webservice和数据库的交互.这一点很重要.

js调用iframe实现打印页面内容的方法

 这篇文章主要介绍了js调用iframe实现打印页面内容的方法,需要的朋友可以参考下 1.程序说明   1) 此程序可以实现选择页面中的区域进行打印,以iframe方式进行打印: 2) 与原生态的print() 区别在于,取消打印页面后可以完整保留当前访问页面的内容.   2.代码部分   1) JS 函数:  代码如下: function do_print(id_str)//id-str 打印区域的id { var el = document.getElementById(id_str); v

使用jquery.qrcode 生成的二维码,使用window.print(); 无法实现打印

问题描述 使用jquery.qrcode 生成的二维码,使用window.print(); 无法实现打印 使用jquery.qrcode 生成的二维码,使用window.print(); 无法实现打印 代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &