日期:2014-05-16  浏览次数:20361 次

遇到个关于表单的问题 在FIREFOX和IE存在差异
<form name="form1">
<tr>
<td>文字</td>
<td><input type="button"></td>
</tr>
</form>
类似这样的表单 我想通过AJAX 改变了其中第一个TD里面的innerHTML 把那个“文字” 换成了一个TEXT表单元素 无刷新的
但是使用form1.elements.length 查看 发现元素个数只有一个 本来连文本输入框和按钮应该是两个元素的 
在IE里面能够认出2 在FIREFOX里面认出是1个 该如何解决好呢?

------解决方案--------------------
测试没问题IE,FF都返回2
HTML code
<form name="form1">
<table>
<tr>
<td id="a1">文字</td>
<td><input type="button" value="按钮"></td>
</tr>
</table>
</form> 

<script language="javascript">
window.onload = function()
{
    var td = document.getElementById("a1");
    td.innerHTML = ["<input type='button' value='",td.innerHTML,"'>"].join('');
    alert(document.getElementsByName("form1")[0].elements.length);
}
</script>