当我选择打印按钮时,此代码将起作用并在选择打印后弹出以进行打印它工作正常。
问题是,如果我选择Windows打印选项的取消按钮,如果我要打印新页面,那么它显示已取消页面,而不是新< / strong>一个。
有没有选项可以清除或删除我在此行
win.document.write(inf);
写的内容?
代码
以下是代码,它始终显示打印预览中的haiiiiii
无法更新该文本字段。
function displayMessage(printContent) {
var inf = printContent;
document.innerHTML="";
win = window.open('about:blank');
win.document.write(inf);
win.print();
win.close();
alert(inf);
}
<div id="formdiv">
<form id="form1" name="form1" method="post" action="">
<div id="printadform">
<table width="997" border="1">
<tr>
<th colspan="4" bgcolor="#999999"><div align="center" class="style1"><input type ="text" value="haiiiiiii"/></div></th>
</tr>
</table>
</div>
</form>
</div>
<a class="btn btn-primary" id = "print" onclick="displayMessage(formdiv.innerHTML)">Print</a>
<a href="#/branch/list/{{student.branch}}" class="btn" id="cancel">Cancel </a></div>
答案 0 :(得分:1)
试试这个,Text元素没有innerHTML
属性,所以你必须设置值归档。
HTML:
<div id="formdiv">
<form id="form1" name="form1" method="post" action="#">
<div id="printadform">
<table style="width:80%;border: 1px solid black;">
<tr>
<th colspan="4" style="background-color:#999;">
<span style="text-align:center;">
<input id="box" type="text" value="Hai" />
</span>
</th>
</tr>
</table>
</div>
</form>
</div>
脚本:
function displayMessage() {
var val = box.value; //get the input box value
box.setAttribute('value', val); //set value attribute into input
var inf = formdiv.innerHTML;
document.innerHTML = "";
var win = window.open('about:blank');
win.document.write(inf);
win.print();
win.close();
}
的 Demo 强>