使用window.print()打印时不打印输入字段的文本

Abd*_*hid 5 html javascript printing

我有以下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>
Run Code Online (Sandbox Code Playgroud)

和该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;
}
Run Code Online (Sandbox Code Playgroud)

但是在填充后打印表单时,它不会显示用户在输入框中输入的输入字段的文本.但是相同表格的输入字段的预定义文本(这里是日期字段)照常打印.

如何重写javascript函数以便打印输入字段的文本aslo?

小智 0

我不太确定您在问什么,但如果您想要的话,以下代码将显示用户输入以及原始正文。它不使用 window.print(); 尽管。

    function printDiv() {
        var printContents = document.forms[0].elements[0].value + "<br>" + document.forms[0].elements[1].value + "<br>";
        var originalContents = document.body.innerHTML;
        document.write(printContents + originalContents);
    }
Run Code Online (Sandbox Code Playgroud)