【发布时间】:2014-10-22 05:05:02
【问题描述】:
我使用以下代码。
这个想法是打印名称为“PrintThis”的 div 的内容,其中包含文本输入区域“textarea1”。
问题是 getElementById 只返回页面加载的字符串;在这种情况下是“蛋糕”。
如果我通过单击并在页面上输入“textarea1”将“cake”更改为“pie”,那么 printContents 仍然有“cake”而不是“pie”。
<html>
<head> </head>
<script type="text/javascript">
function printFunction(divName) {
var printContents = document.getElementById(divName).innerHTML;
//Now call a script to print (not included)
}
</script>
<body>
<div id="printThis" name="printThis">
<textarea id="textarea1" cols="1" rows="10" style="width:95%!important;" ">cake</textarea>
</div>
<input type="button" value="Print Div" onClick="printFunction('printThis')">
</body></html>
在我的生产版本中,我还使用 AJAX 将文本区域值发布回服务器,因此理论上可以使用页面刷新,虽然这不会运行,但我尝试使用这些选项。
document.location.reload(true);
window.top.location=window.top.location;
生产版本也有 jQuery 可用。
【问题讨论】:
-
尝试使用 jquery val() 函数获取值...
-
好的,我会看一下jQuery选项,但请记住,在生产版本中,printThis Div会有多个元素。
标签: javascript jquery html