У меня есть разные интерактивные формы, и я ищу чистое решение на JavaScript для распечатки раздела страницы по клику. Таким образом, на каждой странице будет кнопка «Нажмите, чтобы распечатать», и она должна открыть новую страницу, готовую к печати. Я пробовал много решений, и некоторые из них отлично работают, кроме IE11.
Некоторые из моих форм сложны, но для простоты вот простой пример кода, который я пытаюсь использовать:
<div id='DivIdToPrint'>
<p>This is a sample text for printing purpose.</p>
First name: <input type="text" name="firstname" value=""><br>
Last name: <input type="text" name="lastname" value=""><br><br>
Gender: <br />
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other<br><br>
</div>
<input type='button' id='btn' value='Print' onclick='printDiv();'>
<script type="text/javascript">
function printDiv() {
var divToPrint = document.getElementById('DivIdToPrint').innerHTML;
var newWin = window.open();
newWin.document.write(divToPrint);
newWin.print();
newWin.close();
}
</script>
Две проблемы: 1. Я не могу распечатать значение каждого элемента формы и 2. Это решение не работает в IE11.
Может ли кто-нибудь помочь с этим, пожалуйста?