对于知道的人来说,这似乎很简单:当单击按钮时,此脚本会获得DIV
标记,并打开包含内容的新页面。但我希望它在用户输入内容后显示textarea
的内容。
有什么想法吗?代码是:
<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>
答案 0 :(得分:2)
您可以使用.value
获取textarea的内容,而不是使用.innerHTML
。
这意味着获取activity5
innerHTML将不包含已在子textarea中输入的文本。如果要包含该文本,则必须在textarea上单独检索带有.value
的文本,并将其插入新页面的新文本区域。
答案 1 :(得分:2)
您需要使用value
属性分别获取textarea的内容,然后以相同的方式明确设置它。请查看http://jsfiddle.net/EPvWV/以获取如何执行此操作的示例。