2016-09-09 1 views
1

J'ai créé l'application qui imprime la facture du client. Je veux imprimer toutes les factures entre deux numéros de facture comme imprimer toutes les factures entre la facture n ° 10 et la facture n ° 30.imprimer plusieurs HTML (dynamique) sur le bouton cliquer en utilisant javascript

Je veux les imprimer en un seul clic ou en une seule fenêtre ou sans popup.

Ce code générant de multiples pop-up

Voici mon code

$("#btnPrint").click(function() { 

       var invStartNo = 10; 
       var invUptoNo = 30; 
       for (var i = invStartNo; i < invUptoNo; i++) { 


        var contents = functionWhichReturnHTML_byInvNo(i);//this function return dynamically html by invoice no 

        var frame1 = $('<iframe />'); 
        frame1[0].name = "frame1"; 
        frame1.css({ "position": "absolute", "top": "-1000000px" }); 
        $("body").append(frame1); 
        var frameDoc = frame1[0].contentWindow ? frame1[0].contentWindow : frame1[0].contentDocument.document ? frame1[0].contentDocument.document : frame1[0].contentDocument; 
        frameDoc.document.open(); 
        //Create a new HTML document. 
        frameDoc.document.write('<html><head><title>Account Statement</title>'); 
        frameDoc.document.write('</head><body>'); 
        //Append the external CSS file. 

        frameDoc.document.write('<link href="../../Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" />'); 


        //Append the DIV contents. 
        frameDoc.document.write(contents); 
        frameDoc.document.write('</body></html>'); 
        frameDoc.document.close(); 
        setTimeout(function() { 
         window.frames["frame1"].focus(); 
         window.frames["frame1"].print(); 
         frame1.remove(); 
        }, 1000); 


       } 
      }); 
+0

Quelle est la question que vous êtes actuellement confronté? –

+1

Créer 20 images à l'intérieur du cadre1? –

+0

sa générant plusieurs pop-up je veux imprimer toutes les factures avec une seule popup (ou sans popup si possible) – satyender

Répondre

0
  var invStartNo = 10; 
      var invUptoNo = 30; 
    for (var i = invStartNo; i < invUptoNo; i++) { 

    var contents = functionWhichReturnHTML_byInvNo(i);//this function return dynamically html by invoice no(call synchronously) 

       //Append the DIV contents. 
       frameDoc.document.write(contents); 

     }