2

对于知道的人来说,这可能看起来很简单: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>

4

2 回答 2

2

.value您使用而不是获得文本区域的内容.innerHTML

这意味着获取activity5innerHTML 将不包括在子文本区域中输入的文本。如果要包含该文本,则必须.value在 textarea 上单独检索该文本并将其插入新页面的新文本区域。

于 2012-05-07T00:36:46.793 回答
2

您需要使用value属性单独获取 textarea 的内容,然后以相同的方式显式设置它。查看http://jsfiddle.net/EPvWV/以了解如何执行此操作的示例。

于 2012-05-07T00:40:28.997 回答