以下是我要修复的示例代码。在打印屏幕中,我无法看到在input
文本字段中输入的文本。任何解决方案将不胜感激。
var divToPrint=document.getElementById('div1Id');
if (divToPrint != null && divToPrint != "") {
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
newWin.close();
}
答案 0 :(得分:0)
文本框和复选框控件必须获取value
而不是InnerHtml
var divName = document.getElementById('div1Id')
var originalContents = document.body.innerHTML;
var inpText = document.getElementsByTagName("input")[0].value;
var printContents = document.getElementById(divName).innerHTML;
printContents += inpText;
newWin.document.open();
newWin.document.write('<html><body
onload="window.print()">'+printContents+'</body></html>');
newWin.document.close();
答案 1 :(得分:0)
你有script
var divToPrint=document.getElementById('div1Id');
if (divToPrint != null && divToPrint != "") {
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
newWin.close();
}
然后复制内部html,但值不存在。让我们确保值是正确的,如下所示:
var divToPrint=document.getElementById('div1Id');
//Gather input values and inputs
var inputValues = [];
var inputs = divToPrint.getElementsByTagName("input");
for (var index = 0; index < inputs.length; index++) inputValues.push(inputs[index]);
//Generate script of page
var script = 'var inputValues = ' + JSON.stringify(inputValues) + ';';
script += 'var inputs = document.getElementsByTagName("input");' +
'for (var index = 0; index < inputs.length; index++) ' +
'inputs[index].value = inputValues[index];';
if (divToPrint != null && divToPrint != "") {
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="' + script + 'window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
newWin.close();
}
代码未经测试,如果有拼写错误,请告诉我。
答案 2 :(得分:0)
使用jquery.print.js库并在自定义函数$ .print中调用此函数(&#34;#id&#34;);