我有一个文本框,用户可以在其中写一些文本。
现在,如果他要打印该文本,则应单击“打印”按钮。
“打印”按钮的设计如下:
<asp:Button ID="btnPrint" runat="server" Text="Print" Enabled="False" OnClientClick = "CallPrint('txtReadFiles')" />
现在,在aspx页面的顶部,函数CallPrint声明如下:
<script type="text/javascript" language="javascript">
function CallPrint(strid)
{
var prtContent = document.getElementById(strid);
**var docwrite=prtContent.innerHTML;**
var WinPrint = window.open('','','left=0,top=0,toolbar=0,status=0');
WinPrint.document.open();
WinPrint.document.write(docwrite);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
</script>
但是,当我单击打印按钮时,在标有**的行上出现错误
JavaScript运行时错误:无法获取未定义或空引用的属性“ innerHTML”
这里有什么问题?
最佳答案
那可能是因为该行var prtContent = document.getElementById(strid);
失败,即返回null。
您要获取的文本框也是服务器控件吗?如果是这样,则在运行时其ID将更改,如果确实是问题,请查看here