【问题标题】:when i print a table using javaScript the half content of table is hidden当我使用 javaScript 打印表格时,表格的一半内容被隐藏
【发布时间】:2016-06-08 12:07:07
【问题描述】:

This is the print preview.

这是我打印表格的 JavaScript 代码:

function PrintElem(divID) {
    var restorepage = document.body.innerHTML;
    var printcontent = document.getElementById(divID).innerHTML;
    document.body.innerHTML = printcontent;
    window.print();
    document.body.innerHTML = restorepage;
}

这是我用于打印表格的 CSS:

<style type="text/css" media="print">
    @page
    {
        size:  auto;
        margin: 0;
    }
    a[href]:after {
        content: none !important;
    }
    html
    {
        background-color: #FFFFFF;
        margin: 0;
    }
    body
    {
        margin: 5mm 15mm 20mm 15mm;
    }
</style>

当我打印我的表格时,有一半 td 没有打印。

这是我要打印的表格:

    <div class="table-responsive" id="myDiv">
        <span id="hide" hidden>2</span>
        <table class="table" border="">
            <tbody>
            <tr>
                <td><b>S.No.</b></td>
                <td><b>Order Number</b></td>
                <td><b>Doctor Name</b></td>
                <td><b>Medicine Availability</b></td>
                <td><b>Action</b></td>

            </tr>
            <tr align="center">
                <td>1</td>
                <td><a href="#">06.03-VNS742</a></td>
                <td></td>
                <td>
                    <div class="table-responsive">
                        <input type="text" name="id[]" value="298" hidden=""/>
                        <input type="submit" id="submit-form" class="hidden"/>
                        <a href="#"><input type="submit" value="Update" hidden=""/></a>
                        <input type="text" name="id[]" value="300" hidden=""/>
                        <input type="submit" id="submit-form" class="hidden"/>
                        <a href="#"><input type="submit" value="Update" hidden=""></a>
                        <table class="table" border="">
                            <tbody>
                            <tr>
                                <td><b>S.No.</b></td>
                                <td><b>Medicine Name</b></td>
                                <td><b>Quantity</b></td>
                                <td><b>Unit</b></td>
                                <td><b>Availability</b></td>
                                <td><b>Remark</b></td>
                                <form action="processAvailability.php" method="POST"></form>
                            </tr>
                            <tr align="center">
                                <td>1</td>
                                <td><input type="text" name="medicine_name[]" value="Apml"/></td>
                                <!-- <td>Apml</td> -->
                                <td><input type="text" name="quantity[]" value="15"/></td>
                                <td>
                                    <select name="med_unit_type[]" onchange="CheckColors(this.value);">
                                        <option>Tablet</option>
                                        <option>Strips</option>
                                        <option>Bottle</option>
                                        <option>Tablet</option>
                                        <option>Other</option>
                                    </select>
                                </td>
                                <td>
                                    <input type="text" name="order_number" value="06.03-VNS742" hidden=""/>
                                    <select name="availability[]">
                                        <option value="Not Available">Not Available</option>
                                        <option value="Available">Available</option>
                                        <option value="Not Available">Not Available</option>
                                        <option value="Partially Available">Partially Available</option>
                                        <option value="Confusion">Confusion</option>
                                    </select>
                                </td>

                                <td><input type="text" class="css-input" name="remark[]" value=""
                                           placeholder="Write Remark Here"/></td>
                            </tr>
                            </tbody>
                        </table>
                    </div>
                </td>
                <td>
                    <label for="submit-form">Save</label>
                </td>
                <td><a href="#">Reschedule Order</a></td>
            </tr>

            </tbody>
        </table>
    </div>

【问题讨论】:

  • 你为什么要将htmlheadtitlebody标签附加到body
  • 现在你可以帮助我@phreakv6
  • 我添加表格代码@Apb
  • 您无需删除 HTML 即可打印...只需使用 print style sheet
  • 您能指出您遇到问题的原始页面吗?不知道你说的“一半的桌子被隐藏了”是什么意思

标签: javascript html css


【解决方案1】:

我创建了一个fiddle,以便我们可以探索问题。

当我调整 HTML 部分的大小时,我看到所有列都没有问题。您能否提供正在发生的事情的屏幕截图?

你可以试试这个。

.table-responsive {
    width:"100%";
}

【讨论】:

  • 是的,我会把截图发给你。给我你的邮件ID。
  • 请用屏幕截图更新问题,以便其他人也可以提供帮助。
  • 我添加截图@phreakv6
  • 谢谢。仍然很难弄清楚。表格是 div 的一部分吗?您可以水平滚动查看表格的其余部分吗?
  • 是的,表格是div的一部分,在网页中不需要滚动。但打印视图在屏幕截图中。 @phreakv6
猜你喜欢
  • 2021-05-09
  • 2012-08-22
  • 1970-01-01
  • 2015-02-21
  • 2014-12-12
  • 2014-01-23
  • 2013-08-07
  • 2012-03-24
  • 2011-06-16
相关资源
最近更新 更多