0

動的テーブルを表示するために、これをリテラルの下に持っています

<div id="Print">     
    <asp:Literal ID="Literal1" runat="server"></asp:Literal> 
</div> 

印刷するイメージボタンを配置します

<asp:ImageButton ID="ImageButton5" runat="server" 
ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px" 
Width="27px" style="margin-left:20px" OnClientClick="CallPrint"/> 

以下のコードを印刷する必要がありますが、機能していません。

<script language="javascript" type="text/javascript">
    function CallPrint(Print) {
        var prtContent = document.getElementById(Print);
        var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
        WinPrint.document.write(prtContent.innerHTML);
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
</script>
4

4 に答える 4

0

関数のパラメーターPrintをスキップし、getElementByIdに変更を追加します

var prtContent = document.getElementById('Print');
于 2012-11-07T12:41:11.627 に答える
0

引用符で囲む必要がPrintあり、関数に最後の中括弧がありません。また、Printパラメーターは必要ありません(ImageButtonから渡しておらず、getElementById()を使用して既に取得しているため)。

function CallPrint() {
            var prtContent = document.getElementById("Print");
            var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
            WinPrint.document.write(prtContent.innerHTML);
            WinPrint.document.close();
            WinPrint.focus();
            WinPrint.print();
}
于 2012-11-07T12:41:27.663 に答える
0

これを試して

<script language="javascript" type="text/javascript">

function CallPrint() {
                var prtContent = document.getElementById('Print');
                var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
                WinPrint.document.open();
                WinPrint.document.write(prtContent.innerHTML);
                WinPrint.document.close();
                WinPrint.focus();
                WinPrint.print();
                return false;
}
 </script>

<asp:ImageButton ID="ImageButton5" runat="server" 
                        ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px" 
            Width="27px" style="margin-left:20px" OnClientClick="return CallPrint()"/>

false を OnClientClick に返すと、ポストバックが防止されます

于 2012-11-07T12:43:02.740 に答える
0

「Print」の代わりに Print を使用しているため、prtContent.innerHTML は null になります。

        function CallPrint() {
        var prtContent = document.getElementById('Print');
        var htmlcontent = prtContent.innerHTML;
        var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
        WinPrint.document.write(htmlcontent);
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
    }
于 2012-11-07T12:49:45.510 に答える