form表单问题,找不到form表单对象

今天测试一个页面,郁闷了很久也找不到答案:页面大致如下:
<body>
<table>
<!--位置一-->
<form name="form1">
<tr>
<td>
<!--位置二-->
<form name="form1">
<div id="111">····此处主要是表单组件,没有隐藏div····</div>
<div id="222"><table>·····</table></div>
<div style="display:none; position:absolute;top:40px;left:50px;"><table>············此处有div块和button按钮·············</table></div>
<div>······</div>
</form>
</td>
</form>
</tr>
</table>
</body>
问题是这样的:1.把form放在位置一下面,找不到form对象;2.把form放到位置二下面,页面显示不正常(id=111和id=222两个div之间空了一大段)。3.位置一和位置二都有form,js获取到一个form元素是位置二的,位置一的直接被忽略,此时页面显示正常,也就是id=111和id=222两个div之间没有空一大段。求解?初次开通帐号,望多关照!

第1个回答  2011-04-02
form在table外面和内部都可以,不过没有两个form嵌套的。每个form名字不能相同。
“把form放到位置二下面,页面显示不正常(id=111和id=222两个div之间空了一大段)”,因为每个<div>都单独占一行,解决方法:将这两个div放在表格单元格内,排成一行即可追问

和这两个div放到哪个单元格内?这两个div本来就在最外面的table的一个单元格内,我就是要他们分两个块,上下排列独占一行又有什么问题么?请指教,还有,我有另一个页面也是这种模式,form放在最外面的table的td中,页面很正常的显示,区别在于这个页面多了一块隐藏的div块(就是那块绝对定位那块),不知道问题是不是因为这个

第2个回答  2011-04-02
form 好像不能直接嵌套在table下 ,你把form 放到table外试试追问

这个我也试过,还是找不到form

追答

你两个form的name冲突了吧
你给form加个id,在JS里通过id找一下

追问

开始我只用一个form,放在位置一下,后来也尝试放在最外面的table外,结果也一样,也尝试过用ID获取,是能获取到,document.getElementById("位置一表单的id").action=###;没问题,当要提交document.getElementById("位置一表单的id").submit();时就报错了!还有我知道两个重名会冲突,可是事实证明他没有冲突,他是忽略了第一个。这我就奇怪了

追答

提交表单要先设置method吧

追问

method设置为post,没写出来而已。冲突的话获取到form然后submit()肯定不成功的,可是居然能成功提交,我真搞不明白

追答

你把位置一的form去掉,只保留位置二的form怎么样

追问

就是显示不正常,3楼在回答

追答

那你加个隐藏div试试,估计是你的样式控制有问题吧

第3个回答  2011-04-02
好像form不可以嵌套使用吧