用户在可选表上用innerHTML写

时间:2014-11-22 09:17:25

标签: javascript html dom

我需要在用户可选择的3 td上使用innerHTML编写并编写在文本区域中写入的文本。

    function texFil (){

selFi = new Array('td1', 'td2', 'td3');

selFi[0] = document.getElementById('te').value;
selFi[1] = document.getElementById('te').value;
selFi[2] = document.getElementById('te').value;

var i = document.getElementById('fi').value;

document.getElementById("selFi[i]").innerHTML; //this show in the td the text written in textarea by user.

}

这是我的脚本,这是我的HTML:

<table align="center" id="ta">
<tr><td id="td1">1.</td></tr>
<tr><td id="td2">2.</td></tr>
<tr><td id="td3">3.</td></tr>
</table><br>
<form id="fo" align="center">
Introduce text:<br><br>
<textarea type="text" id="te" rows="4" cols="50"></textarea><br><br>
Indicate row:<br><br>
<input type="text" id="fi"><br><br>
<input type="button" id="ini" value="Start" onclick="texFil();">

我做错了什么?

2 个答案:

答案 0 :(得分:0)

试试这个。

&#13;
&#13;
function texFil() {

                selFi = new Array('td1', 'td2', 'td3');
                var s = selFi[0] + selFi[1] + selFi[2];
                document.getElementById('te').value = s;


                var i = document.getElementById('fi').value;

                document.getElementById("td1").innerHTML;

            }
&#13;
&#13;
&#13;

答案 1 :(得分:0)

修改

&#13;
&#13;
var cells = ['td1','td2','td3'];

function texFil() {
  
  var indicated = document.getElementById('fi').value;
  
  var index = parseInt(indicated);
  if(index > 0)
  {
     document.getElementById(cells[index -1]).innerHTML = document.getElementById('te').value;
    
  }
}
&#13;
<table align="center" id="ta">
  <tr>
    <td id="td1" >1.</td>
  </tr>
  <tr>
    <td id="td2" >2.</td>
  </tr>
  <tr>
    <td id="td3" >3.</td>
  </tr>
</table>
<br>
<form id="fo" align="center">
  Introduce text:
  <br>
  <br>
  <textarea type="text" id="te" rows="4" cols="50"></textarea>
  <br>
  <br>Indicate row:
  <br>
  <br>
  <input type="text" id="fi">
  <br>
  <br>
  <input type="button" id="ini" value="Start" onclick="texFil();">
&#13;
&#13;
&#13;