これは知っている人にとっては簡単かもしれません。このスクリプトは、ボタンをクリックするとDIV
タグを取得し、内容を含む新しいページを開きます。しかし、ユーザーが何かを入力した後にtextarea
の内容を表示したい。getElementByIdはテキストエリアの内容を取得しません
アイデアはありますか?コードは次のとおりです。
<script type="text/javascript">
var win=null;
function printIt(printThis)
{
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(printThis.innerHTML);
win.document.write('<'+'/'+'body'+'><'+'/'+'html'+'>');
win.document.close();
win.print();
}
</script>
</head><body>
<div id="activity5">
<blockquote>
<table border="0" cellpadding="3">
</table>
<form id="form4" name="form1" method="post" action="">
<textarea name="Activity1a4" cols="80" rows="15" class="s23" id="ta1"></textarea>
<p>
<input name="print4" type="submit" id="print4" value="Print" onclick="printIt(document.getElementById('activity5')); return false"/>
* Retain this learning activity as part of your portfolio of evidence.</p>
<p>Check your findings with the correct answer in the back of this Learner Resource under 'Learning activity answers'.</p>
</form>
</blockquote>
</div>
</body>
「テキストエリア」ではなく、「div」です。 – Guffa
@ Guffa - 私は私の答えにもっと多くを加えました。基本的な問題は、ユーザーがテキストエリアに入力するテキストが親オブジェクトのinnerHTMLに含まれていないことです。彼らは手動でそのテキストをフェッチし、必要な場所に挿入する必要があります。 – jfriend00