我们有时候在编码时,需要动态地加载或更新表单项的选项或者增加表单项。今天就遇到这样一个问题,我用ajax动态加载进来的表单项,在后台获取不到它的数据。后来在网友提示下才解决了。下面我举个小例子来说明一下:
<table>
<form action="url" method="post">
<tr>
<td><input type="text" name="1"/></td>
<td id="2"></td>
</tr>
<tr>
<td><input type="submit" value="提交" /></td>
</tr>
</form>
</table>
用ajax获取一个表单项,如<input name="2" type="text" />,更新到id为2的位置上,然后提交表单到后台。如果是在ie下,可以获取得到name为2的表单值,如果在ff和chrome下,则不能获取到name为2的表单值。
我这有两个解决的方法:
1.提交表单时,用js把动态加载进来的表单值拼接在静态表单项里面,然后在后台进行处理
2.将form标签提到table外,如
<form action="url" method="post">
<table>
<tr>
<td><input type="text" name="1"/></td>
<td id="2"></td>
</tr>
<tr>
<td><input type="submit" value="提交" /></td>
</tr>
</table>
</form>