javascript - 打印表 javascript 显示为纯文本

标签 javascript ajax

我正在尝试使用 javascript 打印表格

表格html是这样的:

    <table id="rounded" runat=server  summary="2007 Major IT Companies' Profit" style="position:relative;left:-45px;"  >

        <tr>
            <th scope="col" class="rounded-company">header1</th>
        <th scope="col" class="rounded-q1">header2</th>

            <th scope="col" class="rounded-q1">header3</th>
             <th scope="col" class="rounded-q1">header4</th>
              <th scope="col" class="rounded-q1">header5</th>
               <th scope="col" class="rounded-q1">header6</th>
                <th scope="col" class="rounded-q1">header7</th>
                 <th scope="col" class="rounded-q1">header8</th>

                   <th scope="col" class="rounded-q1">header9</th>
                   <th scope="col" class="rounded-q4"> header10</th>


        </tr>


</table>

我将表的数据抛出 ajax,所以最终表看起来像这样:

<table id="rounded" runat=server  summary="2007 Major IT Companies' Profit" style="position:relative;left:-45px;"  >

            <tr>
                <th scope="col" class="rounded-company">header1</th>
            <th scope="col" class="rounded-q1">header2</th>

                <th scope="col" class="rounded-q1">header3</th>
                 <th scope="col" class="rounded-q1">header4</th>
                  <th scope="col" class="rounded-q1">header5</th>
                   <th scope="col" class="rounded-q1">header6</th>
                    <th scope="col" class="rounded-q1">header7</th>
                     <th scope="col" class="rounded-q1">header8</th>

                       <th scope="col" class="rounded-q1">header9</th>
                       <th scope="col" class="rounded-q4"> header10</th>


            </tr>
<tr>
                <td>value1</td>
                <td>value2</td>

                <td>value3</td>
                <td>value4</td>
                <td></td>
                <td>value6</td>
                <td>value7</td>
                <td>value8</td>

                <td>value9</td>
                <td>value10</td>
            </tr>
            <tr>
                <td>value1</td>
                <td>value2</td>

                <td>value3</td>
                <td>value4</td>
                <td></td>
                <td>value6</td>
                <td>value7</td>
                <td>value8</td>

                <td>value9</td>
                <td>value10</td>
            </tr>

</table>

我正在使用 javascript 像这样打印表格:

<script type="text/javascript">
function printTable()

{


    var disp_setting = "toolbar=yes,location=no,directories=yes,menubar=yes,";
    disp_setting += "scrollbars=yes,width=1350, height=800";
    var content_vlue = $("#rounded").html();


    var docprint = window.open("", "", disp_setting);
    docprint.document.open();
    docprint.document.write('<link href="css/table2.css" type="text/css" rel="stylesheet" />');  
    docprint.document.write('<html><head><title>Inel Power System</title>');
    docprint.document.write('</head><body onLoad="self.print()"><center>');
    docprint.document.write(content_vlue);
    docprint.document.write('</center></body></html>');
    docprint.document.close();
    docprint.focus(); 
}

</script>

问题是表格打印为 innertext 而不是 innerhtml(没有行没有列没有标题)

如果我获取此表(来自页面源)并尝试打印它(不使用 ajax),它工作得很好。

可能是什么问题?

提前感谢您的帮助

最佳答案

您需要包含 <table>您正在写入打印文档的 HTML 中的标记。打电话.html()只是让您了解表格标签的内容。

或者,您可以将表格包裹在另一个元素(<div> 或其他元素)中,然后:

var content_vlue = $('#rounded').parent().html();

关于javascript - 打印表 javascript 显示为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657089/

相关文章:

Javascript/Typescript .bind() 获取绑定(bind)函数中的变量

javascript - 在KeyPress上加载新的新组件-reactjs

JavaScript 将带有数字字符串的键转换为数字......但 Object.keys() 不会

javascript - 使用 javascript 拆分 html 表值

javascript - 使用promise同步执行ajax

javascript - Angular.js - Facebook 页面提要,在卡片列表中显示帖子,并带有全屏图片库。有人可以帮我吗?

javascript - 使用 Fetch API 时,是否有通过 POST 请求发送数据的首选方式?

javascript - Materialise - 使用 ajax 更改数据时自动完成隐藏

javascript - 为什么XMLHttpRequest的readystate不等于4?

javascript - Angular JS-尝试创建视频选择器 "angular way"