【发布时间】:2015-06-14 04:36:14
【问题描述】:
我有以下 html 布局:
Please fill up this form carefully:
<input type="button" onclick="printDiv('print'); return false;" value="Print" />
<div id="print">
<form action="" method="post">
<input type="text" name="user_name" value="" />
<input type="text" name="address" value="" />
<input type="text" name="date" value="14-06-2015" />
<input type="submit" value="SUBMIT" />
</form>
</div>
以及该 html 页面 head 部分中的 printDiv('print') 函数:
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
但是在填写后打印表单时,它没有显示用户在输入框中输入的输入字段的文本。但相同表单的输入字段的预定义文本(此处为日期字段)照常打印。
如何重写 javascript 函数,以便它同时打印输入字段的文本?
【问题讨论】:
-
你到底想达到什么目的?您希望他们能够填写表格,然后打印并提交?
-
Seth MrClaine,是的,如果用户想在提交之前打印出来。请记住,这仅用于显示我面临的问题。这并不重要,为什么用户要在打印之前打印表单,或者页面可能会显示提交的表单并且用户可以从那里打印。这是一个测试用例。
-
如果您希望显示当前值,可以在使用 innerHTML 之前循环输入和
input.setAttribute("value", input.value)。
标签: javascript html printing