小弟用javascript为table动态的增加了行 列 以及嵌套控件(都是用js临时创建的)
每一行有五列 前三列嵌入的是input文本框  第四列嵌入select选择框  最后一列是一个链接按钮 文本为"保存"或"修改"(视状态而定) 现在我在文本框中输入值后点击保存按钮 此时保存按钮的文本变为"修改" 利用下面得代码
tbody.rows[0].cells[2].innerHTML=tbody.rows[0].cells[2].firstChild.value;

this.innerText="修改";
保存之后呢 文本框不见了 单元格内的文本就是之前输入的值   但是问题来了:
当我点击"修改" 想继续编辑这行文本时  死活找不到之前的input输入框了呢  是被隐藏了 还是执行上边的代码后压根就不存在了???反正不知道跑哪儿去了  我想的是 如果能再次找到这些input输入框 就可以轻松的再次完成编辑  但就是不行啊 请问是怎么回事
 

解决方案 »

  1.   

    你用js动态生成的行列有没有附加到DOM里面?
    再给这些东西加上id试试
      

  2.   

    tbody.rows[0].cells[2].innerHTML=tbody.rows[0].cells[2].firstChild.value;
    这句改一下,
    tbody.rows[0].cells[2].firstChild就是保存之前的那个输入框,保存后第1行第2个单元格的内容被输入框的值替换,就没有输入框了,被REMOVER掉了。
    可以 
    tbody.rows[0].cells[2].firstChild.style.display = "none";
    tbody.rows[0].cells[2].innerHTML +=tbody.rows[0].cells[2].firstChild.value;
    修改的时候直接用
    tbody.rows[0].cells[2].innerHTML = tbody.rows[0].cells[2].firstChild;
    tbody.rows[0].cells[2].firstChild.style.display="";
    应该是可以的,你试一下。
      

  3.   

    2楼的方法还是不行啊单元格里的内容为 [object]好像执行这句后输入框就不存了  ....innerHTML = .....value 
      

  4.   

    我本想通过改变输入框的样式来模拟保存的操作  就是让其边框为0并不可编辑(让用户感觉不到)  修改的时候再变回原样式并且可编辑
    但是这种方法对于select控件的样式不好修改 所以为难若果采用之前的方法....innerHTML = .....value  又找不到input输入框了  难缠啊 望高手指点下  
      

  5.   

    不是....innerHTML = .....value 是 innerHTML += value