2013-06-11 9 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 идентификаторов с цифрами 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 на несколько страниц, что хорошо, но также создает пустую страницу после последнего идентификатора. Есть ли способ избавиться от этой пустой страницы? – user2457203

+0

Вы можете попробовать установить его в 'page-break-after: auto' или удалить последний div. Смотрите мои обновления. – Jay

2

Возможно, атрибут page-break-before будет полезен здесь? Вы можете создать новый элемент перед каждой страницей, которая не является первой, с этим атрибутом.

Смежные вопросы