我要打印网页的特定div,并且该div包含一些字符串。例如:在包含人名的文本框中。
现在,当我那时在打印预览中打印页面时,它仅显示文本框,而没有任何字符串(数据)。
function showPopup(divName) {
var divToPrint = document.getElementById(divName);
var newWin = window.open('', 'Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</body></html>');
newWin.document.close();
setTimeout(function() {
newWin.close();
}, 10);
}
<div class="container">
<form id="service-job-form" name="service-job-form">
<div id="printableArea">
<label for="CustomerId" class="col-sm-4 col-form-label">Customer Name</label>
<div class="col-sm-5 input-group">
<input type="text" autocomplete="off" id="CustomerName" name="CustomerName" required data-provide="typeahead" class="typeahead search-query form-control autocomplete" placeholder="Customer Name" />
</div>
</div>
<div class="form-group row">
<input type="button" class="btn btn-primary" value="Print" id="bodyWrapper" onclick="showPopup('printableArea');" />
</div>
</form>
</div>
答案 0 :(得分:0)
我希望这会有所帮助:
function showPopup() {
var name = $('#CustomerName').val();
var newWin = window.open('', 'Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">' + name + '</body></html>');
newWin.document.close();
setTimeout(function() {
newWin.close();
}, 10);
}
答案 1 :(得分:0)
如果要从输入字段中获取数据,请使用.value
而不是.innerHTML
。因此您的代码应为:
newWin.document.write('<html><body onload="window.print()">' + divToPrint.value + '</body></html>');