1

我有一个文本框,用户将在其中写一些文本。

现在如果他想打印那个文本,他应该点击打印按钮。打印按钮的设计如下:

<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”

这里有什么问题?

4

1 回答 1

3

那可能是因为这条线var prtContent = document.getElementById(strid);失败了,即返回空值。您要获取的文本框也是服务器控件吗?如果是这样,那么在运行时它的 id 会改变,如果这确实是问题,请看这里

于 2013-05-12T21:49:36.587 回答