z再使用jquery serialize() 时取得form表单的实例化对象都是空的,开始还以为是jquery没导入或者是版本错误,然而页面控制台没错误提示(强烈鄙视IE,没办法,项目必须用ie开发),检查了好久没发现问题,在网上找了一些解决方法,总算其中 一个搞定了
一 :html的标签结构问题
同样的代码使用jQuery的serialize方法在IE8和IE9上执行是可以获取到form表单数据的,而在IE11上就不行。
经过多次试验、比较、测试发现是因为form标签和table交叉的原因。比如在以下的情况是执行失败的(网上的方法):
<table>
<form>
<tr>
<td>姓名</td>
<td><input name="name" type="text"/></td>
</tr>
</form>
</table>
而以下的方式是成功的:
<form>
<table>
<tr>
<td>姓名</td>
<td><input name="name" type="text"/></td>
</tr>
</table>
</form>
二:由于form表单有有一些表签ID与一些关键词相同导致的