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

嗨打印 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 回答
0

我认为只有一个语句会改变你的代码,

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

如果您将 HTML 称为 div 样式 >> display none 正在调用,

用代码检查

  alert(PrintDiv);

如果这是返回值,那么它将打印。

我希望这个能帮上忙 :)

于 2013-03-12T06:22:56.120 回答