有什么方法可以防止 textarea 占位符作为值交叉?

Is there any way to prevent a textarea placeholder from crossing over as a value?

我创建了一个新页面来简化工作流程,但为了方便用户和降低进入门槛,我试图将我正在做的事情限制在 单个html文件。但是,我要采用的方法要求我使用页面本身的一部分创建一个 javascript 弹出窗口,我使用

将其屏蔽
<div id="head"></div>

<div id="body"></div>

这部分包含一个表单,一切正常,除了弹出窗口通过将占位符字符串放置在标签之间将其转换为值。

这是我的弹出脚本:

function openwindow(url){
  var newHead = $("#head").html();
  var newBody = $("#body").html();
  NewWindow=window.open( url,'PopUp','resizable=no');
  NewWindow.document.write(newHead+newBody);
  NewWindow.focus(); };

这是 newbody (#body) 变量的一部分

      <input id="cause" type="text" class="input" placeholder="Description">
      <br><br>
      <textarea id="desc" type="text" placeholder="Supplemental"></textarea>

..但这是我在弹出窗口中得到的:

      <input class="input" id="cause" type="text" placeholder="Description">
      <br><br>
      <textarea id="desc" placeholder="Supplemental" type="text">Supplemental</textarea>

我是不是漏掉了什么?

IE浏览器问题,检查:

https://connect.microsoft.com/IE/feedback/details/811408

我检查了 Chrome、Firefox 和 Opera,工作正常。仅 IE。

我想出了一个奇怪的解决方法,但我希望有人能想出更好的方法。我添加了一行 jQuery 代码来执行 onLoad,用我想要的替换整行。不是最好的,但我想它是有用的。

$('#replace').html('<textarea id="desc" type="text" placeholder="Supplemental"></textarea>');