我有一个简单的脚本,可以打印网页的一部分。 但是,它不会打印用户输入。
我的目标是只打印表单和用户输入;不是网页的其余部分。
我不想使用CSS;只是 js/jQuery 和 html。
我的问题是:如何打印各种表单输入元素(包括用户输入)?
HTML:
<div id="print-content">
<textarea>Print User Input</textarea>
<input type="button" onclick="printDiv('print-content')" value="print a div!"/>
</div>
js:
<script type="text/javascript">
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
最佳答案
输入的当前值未在 HTML 中表示(仅默认值),因此它不会显示在 innerHTML
.
您需要循环遍历原始页面中的所有输入,读取它们的 value
属性,然后将值复制到新页面上的新输入。
您可能最好使用 CSS 和 @media print 来隐藏您不想打印的元素,而不是使用 innerHTML
多个重写文档次。
关于javascript - 打印包含文本区域的 div。用户使用js输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409105/