0

divコンテンツの印刷に問題があります.正しく印刷すると、「sys」未定義のようなエラーが表示されます..誰かが解決策を教えてくれますか?

    <div id="mydiv" runat="server" style="display:none;">

        </div>

そして私のJavaScriptは:

 function Print() {


            var PrintDiv = $('#' + '<%= mydiv.ClientID %>').html();

            //var NewWindow = window.open('', '', 'width=500,height=500');
            var NewWindow = window.open('', '_blank', 'location=1,status=1,scrollbars=1,width=1000,height=700');
            NewWindow.document.open("text/html");
            NewWindow.document.write('<html><head><title></title>');
            NewWindow.document.write('<link href="CSS/style.css" rel="stylesheet" type="text/css" />');

            NewWindow.document.write('</head><body  onload="window.print()">');
            NewWindow.document.write(PrintDiv);
            NewWindow.document.write('</body></html>');

            NewWindow.document.close();


        }
4

2 に答える 2

0

コードを変更するステートメントは 1 つだけだと思います。

 var PrintDiv = $('#' + '<%= mydiv.ClientID %>').innerHtml();

div スタイルとして HTML を呼び出している場合 >> display none が呼び出している場合、

コードで確認

  alert(PrintDiv);

これが値を返す場合、出力されます。

これが役立つことを願っています:)

于 2013-03-12T06:22:56.120 に答える
0

こんにちは、div を印刷します。私は次のことを行っています。

function printdiv(strid, rptName) {

    var prtContent = document.getElementById(strid);

    // Intial header
    var html = '<html>\n<head>\n';
    html += '<title>' + 'Name of your project : ' + rptName + '</title>';

    // Get value for header for Telerik stylesheet
    if (document.getElementsByTagName != null) {
        var headTags = document.getElementsByTagName("head");
        if (headTags.length > 0) 
            html += headTags[0].innerHTML;
    }
    html += ' <title>' + 'Name of your project-' + rptName + ' </title>';

    // End the header and open body
    html += '\n</head>\n<body>\n';

    if (prtContent != null) { // Get all html 
        html += document.getElementById(strid).innerHTML;
    }
    else {
        alert("Could not find the print div");
        return;
    }

    //End the body and html
    html += "\n</body></html>";

    // Opem new wind
    var WinPrint = window.open('', '', 'letf=10,top=10,width="450",height="250",toolbar=1,scrollbars=1,status=0');

    WinPrint.document.write(html);
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();
    return false;
}
于 2013-03-12T06:12:52.670 に答える