2013-06-11 50 views
0

如果qtytxt的值爲4.它在1個打印頁面上生成此值。循環打印功能

enter image description here

這是做這樣的代碼。

report = ""; 
    for (i = 0; i < document.getElementById("qtytxt").value; i++) { 
    report += "ID: " + document.getElementById("generateidtxt").value + "-" + (i + 1) + "<br>"; 
    } 
    document.write(report); 
    window.print(); 

有沒有一種辦法可以讓一個數組或另一個循環,這樣我可以得到的結果爲第一個ID一個單獨的頁面上打印,然後將一個新的頁面上打印的第二個ID,等等?所以如果qtytxt的值是6,它會產生6個id,最後是1-6。我希望每個ID都能提示我在它自己的單獨頁面上打印總共6頁。

回答

0

是這樣的東西你在找什麼?

report = ""; 
var max = document.getElementById("qtytxt").value; 
for (i = 0; i < max; i++) { 
    report += "ID: " + 
     document.getElementById("generateidtxt").value + 
     "-" + 
     (i + 1) + 
     (i < (max - 1) ? 
     "<div style='page-break-after:always'></div>" : ""); 
} 
document.write(report); 
window.print(); 
+0

是的!非常感謝你 – user2457203

+0

它將ID分成幾個頁面,這很好,但它也會在最後一個ID之後創建一個空白頁面。有沒有辦法擺脫這個空白頁面呢? – user2457203

+0

您可以嘗試將其設置爲'page-break-after:auto'或去掉最後一個div。查看我的更新。 – Jay

2

也許page-break-before屬性在這裏有好處?您可以在每個不是第一個頁面的頁面之前創建一個新元素,並使用此屬性。