Javascripted HTML表格在打印时不显示

时间:2017-12-28 14:28:20

标签: javascript html printing html-table

我用HTML编写了一个表格。但是,如果包含变量,则表中可能存在一些变量需要我在末尾添加额外的条目。

我有代码HTML,它链接到JavaScript代码块:

gnutls-cli -u
var sku = "".concat("[%ITEM_SKU1%]", "[%ITEM_SKU2%]", "[%ITEM_SKU3%]", "[%ITEM_SKU4%]");
var mini_sku = "-01969-|-01970-|-01971-|-01972-|";
var personRegExp = new RegExp(mini_sku);
if (personRegExp.test(sku)) {
  document.getElementById("Additional").innerHTML = '<td class="is2"> \
            <font color="#FF0000" size="+3"><b>+</b></font>          </td>\
          <td class="is2"><strong> \
            Additional Item          </strong></td>\
          <td class="is2"> \
            Additional Item(s) (Title)           </td>\
          <td class="is6"> \
            <div align="right"> \
              n/a           </div>          </td>\
          <td class="is6"><div align="right"> n/a</div></td>';
}

代码基本上在变量“sku”中搜索“mini_sku”中列出的数字。如果它们在那里,则会添加表格的额外条目。

当我在浏览器中打开.html文件时,此代码正常工作。但是,当我尝试直接打印文件时,代码不起作用,并且不添加额外的条目。有没有办法让我在打印文件时正常工作?

1 个答案:

答案 0 :(得分:0)

我已阅读你的评论。尝试解释一下你的问题,因为问题是广泛的或有点模糊。

记住Javascript是一种解释性编程语言。 Javascripts需要由浏览器解释才能工作。如果您将其发送到打印而不首先在浏览器中打开文件,您的代码的javascript部分将永远不会工作。这就是为什么当你打印时,你无法在桌子上看到额外的列。

你能做什么?好吧......我想你在div标签里面有这个表(让我们把它命名为“yourdiv”)所以...你可以在你要打印的文件上放一个按钮:

<div id="tablediv">
    <!-- Here you have your table with the extra column -->
</div>

<input type="button" name="Print" value="Print" onclick="toprint();">

javascript函数:

function toprint() {

     var content= document.getElementById(tablediv);
      var contentprint = window.open(' ', 'Table');
      contentprint.document.write(content.innerHTML );
      contentprint.document.close();
      contentprint.print( );
      contentprint.close();

}