0

此代码无法将文本插入文本区域 - 请参阅下面的 html。我无法更改 html - 因为此代码段正在模仿真实的网页。我只需要将文本插入文本区域。

它在 Chrome 或 IE9 中不起作用。

有任何想法吗?

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">

function insert_text() {
   //enumerate div sections and find where id = WIN_0_4
   var div = window.document.getElementById("WIN_0_4");
   if(div !== null)
   {
      var txtbox = div.getElementsByTagName('textarea');
      if(txtbox !== null)
         txtbox.value = document.frm.texttoinsert.value;
   }
}

</script>

<form name="frm">
<input type="button" id="clicker" value="Click me" />
<input type="button" value="insert" id="inserter" onclick="insert_text();" />

<input type="text" name="texttoinsert" />
</form>


<div id="WIN_0_536870917" arid=536870917 artype="View" ardbn="View Field2"      class="arfid536870917 ardbnViewField2" style="color:#0000FF">
some text here
</div>

<div id="WIN_0_4" arid=4 artype="Char" ardbn="Assigned To">
<label id="label4" class="label f6">Assigned To</label>
<textarea class="text sr " wrap="off" id="arid_WIN_0_4" cols="20" maxlen=254 arautocak=0 arautoctt=400 rows=1></textarea>
</div>

</body>
</html>
4

2 回答 2

1

代替

var txtbox = div.getElementsByTagName('textarea');

var txtbox = div.getElementsByTagName('textarea')[0];

或更好 :

var txtbox = document.getElementById('arid_WIN_0_4');

顾名思义,getElementsByTagName返回多个元素。

于 2013-01-01T18:02:59.153 回答
0
txtbox[0].value = document.frm.texttoinsert.value;
于 2013-01-01T18:03:43.100 回答