2017-12-28 26 views
0

私はHTMLで表をコード化しました。しかし、変数が含まれている場合は、最後に余分なエントリを追加する必要があるいくつかの変数がテーブル内に存在する可能性があります。JavascriptのHTMLテーブルは、印刷時に表示されません。

私は、コードのJavaScriptのブロックにリンクされたコードのHTML持っている:

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>'; 
 
}
<tr id="Additional"></tr>

コードは基本的に「mini_sku」に記載されている番号の変数「SKU」を検索します。そこにいる場合は、テーブルへの余分なエントリが追加されます。

このコードは、ブラウザで.htmlファイルを開いたときに正常に動作します。ただし、ファイルを直接印刷しようとすると、コードが機能せず、追加のエントリが追加されません。ファイルを印刷するときに正しく動作させる方法はありますか?

+1

「印刷」とは具体的にはどういう意味ですか?別の形式に変換しますか? (pdfのような)ファイルをプリンタマシンに送信するだけですか? –

+0

私は文字通りファイルを印刷機に送って、印刷することを意味します。あいまいな言い訳には申し訳ありません。 @ JulioPrez – Neff

+0

いいえ、問題ありません。別の質問:window.printを使用してファイルをプリンタに送信していますか? –

答えて

0

あなたのコメントを読んだ。あなたの問題は幅が広いか曖昧なので、もう少し説明してみてください。

Javascriptは、翻訳されたプログラミング言語です。 JavaScriptは仕事をするためにブラウザによって解釈される必要があります。あなたがブラウザでファイルを最初に開かずに印刷するように送ると、コードの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(); 

} 
+0

ここにリンクがありますか? – Neff

+0

@Neff私は自分の答えを更新しました。それが役に立てば幸い! –

関連する問題