【发布时间】:2012-12-11 15:26:00
【问题描述】:
更新:好的,我需要被枪杀。我遗漏了一些表单代码以减少帖子的长度。完整代码如下:
<form name="userupdate" id="userupdate" method="post">
<input type='hidden' name='username' id='username' value='andyd273' />
<input type='hidden' name='setusertype' id='setusertype' value='1' />
<table align="left" border="1" cellspacing="0" cellpadding="3" class="bodytext">
<tr><td>andyd273</td></tr>
<tr><td>
<input type='checkbox' name='DealerType[]' id='GM' value='1' /> GM<br>
<input type='checkbox' name='DealerType[]' id='Chrysler' value='2' /> Chrysler<br>
<input type='checkbox' name='DealerType[]' id='Ford' value='3' /> Ford<br>
</td></tr>
</table><br>
<input type='button' value='Save' onclick='javascript: formSubmit();' />
</form>
我想我会尝试一些东西,并删除了 table 的东西,只留下简单的表单输入,复选框开始像在 Chrome 中一样工作。
那么,新问题:当输入在表格内时,为什么不能在 IE 中序列化工作? 感谢所有尝试帮助解决第一个不完整问题的人!
为了完整起见,遗留问题:
我正在尝试获取要序列化的表单。它适用于 Chrome 和 Firefox,但不适用于 Internet Explorer。
示例:
<input type='hidden' name='username' id='username' value='andyd273'>
<input type='hidden' name='setusertype' id='setusertype' value='1'>
<input type='checkbox' name='DealerType[]' id='GM' value='1' /> GM<br>
<input type='checkbox' name='DealerType[]' id='Chrysler' value='2' /> Chrysler<br>
<input type='checkbox' name='DealerType[]' id='Ford' value='3' /> Ford<br>
在 Chrome 中我得到:
Array
(
[username] => andyd273
[setusertype] => 1
[DealerType] => Array
(
[0] => 1
[1] => 3
)
)
但在 IE 中我只得到:
Array
(
[username] => andyd273
[setusertype] => 1
)
所以我不确定需要做什么才能让它在 IE 中工作。
/老问题
【问题讨论】:
-
您是否尝试过为复选框使用不同的名称属性?具体来说,一个没有大括号的?我自己会戳它,但我现在手边没有我的 IE VM。
-
我为了测试把它改成了 DealerType1, DealerType2, DealerType3 而不是大括号,它仍然只发送两个隐藏的输入。很奇怪。
-
啊,随着更新,答案很容易(如果悲伤)。在表格中嵌套输入元素不是合法的 HTML。