javascriptを使用して、テキストフィールドがphpによって提供されるdbaseからIDを持つtextareaにテキストフィールドを出力しようとしています。print javascript関数は、getElementByIdを使用してテキストエリアからコンテンツを取得し、それを出力します。しかし、ここに問題があります。テキストエリアに正しく表示するために、テキストフィールドには改行が含まれています。これらはテキストエリアには表示されません。それらは改行として表示されます。(これらは、dbaseテーブルでPHP adminを使用しても表示されません。また、改行として表示されます)。
ただし、テキストを印刷するときに改行を表示するには、改行をに変換する必要があります <br>
。それ以外の場合、あなたは暴れん坊の文章を見て印刷します。
javascript変数で何かを検索する必要があると思います。おそらく\nで置き換えます。
ただし、印刷されたページ(htmlベース)に改行を表示できないようです。
誰かがこれを行う正しい方法を提案できますか?ありがとう。
欠陥のあるコード:js f
unction printit(id) {
var toprint = document.getElementById(id).innerHTML;
toprint = toprint.replace("\n","<br>");
win = window.open();
self.focus();
win.document.open();
win.document.write('<'+'html'+'><'+'head'+'><'+'style'+'>');
win.document.write('body, td { font-family: Verdana; font-size: 10pt;}');
win.document.write('<'+'/'+'style'+'><'+'/'+'head'+'><'+'body'+'>');
win.document.write(toprint);
win.document.write('<'+'/'+'body'+'><'+'/'+'html'+'>');
win.document.close();
win.print();
win.close();
}
html
<textarea id="textarea">A whole bunch
of text
with line breaks
goes here
</textarea><a href="javascript:void(0);" onclick="printit('textarea');">Print text</a>