Функция printDiv () выходила несколько раз, но в этом случае вы теряете все свои элементы привязки и входные значения. Итак, мое решение состоит в том, чтобы создать div для всего, что называется «body_allin», и еще одного, кроме первого «body_print».
Затем вы вызываете эту функцию:
function printDiv(divName){
var printContents = document.getElementById(divName).innerHTML;
document.getElementById("body_print").innerHTML = printContents;
document.getElementById("body_allin").style.display = "none";
document.getElementById("body_print").style.display = "";
window.print();
document.getElementById("body_print").innerHTML = "";
document.getElementById("body_allin").style.display = "";
document.getElementById("body_print").style.display = "none";
}