请教一个Firefox中appcheChild()添加的input不生效的问题

wasuka 2008-12-09 11:31:17
页面中有个table,table里有个form,form里有一个<input type="file" name="image[]">,大概是这样的结构:
<table>
<form>
<tr>
<td><input type="file" name="image"></td>
</tr>
</form>
</table>


我用createElement()和appendChild()的方法在原input所属的td里添加了n个<input type="file" name="image[]">,提交后发现IE正常,n+1个input全部显示;但是Firefox只显示了原本存在的那个,后来添加的全部没有认。

请教原因和解决办法,谢谢!
...全文
98 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wasuka 2008-12-09
  • 打赏
  • 举报
回复
找到解决办法了,把<form>放到<table>外面就行了,变成这样:

<form>
<table>
...
</table>
</form>
wasuka 2008-12-09
  • 打赏
  • 举报
回复

function appendImage()
{
cell = $("tb").rows[11].cells[1];

br = document.createElement("br");
cell.appendChild(br);

o = document.createElement("input");
o.type = "file";
o.name = "image[]";
o.size = "40";
cell.appendChild(o);
}
triace_zhang 2008-12-09
  • 打赏
  • 举报
回复
你createElement怎么写的,
ff里createElement一个text要这么写
var text = document.createElement('input');
input.type = 'file';
input.id = ......
wasuka 2008-12-09
  • 打赏
  • 举报
回复
经过测试,发现问题所在了:
在FF中,appendChild()添加的元素input只存在于table中,而form中并没有。换言之就是虽然能看到,但表单中并不存在。疑惑……
lu_huanling 2008-12-09
  • 打赏
  • 举报
回复
关注中
guoerwei 2008-12-09
  • 打赏
  • 举报
回复
学习了……
一直没注意,因为我一直把form放在外面,呵呵- -,然后把form的padding:0;margin:0;

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧