【发布时间】:2012-03-17 09:37:39
【问题描述】:
[解决方案:通过将“[]”连接到末尾来将我的名字更改为数组。另外,将我的 ID 更改为唯一值以符合 HTML 规范]
我正在创建一个表单,它有一个复选框矩阵(html 表),每行一个用户,并且用户对列的权限。每个单元格都有一个复选框。一行中的每个复选框都将“名称”设置为用户的电子邮件地址(唯一)。复选框的值是特定权限的 ID。当我单击提交按钮并检查从 HTTP POST 返回的参数时,只有最右边的复选框设置为选中多个框的行。
例如,有三个复选框,第一个和第二个选中,第三个未选中。我只取回第二个复选框的 name=id。
我正在 Rails 中构建表单,尽管我认为这并不相关。另外,出现这种行为的浏览器是 Chrome、Iceweasel 和 Epiphany...所以我认为这是我的表单。
我的表格摘录:
<tr>
<td>UserOne</td>
<td>one@oreo.com</td>
<td>
<input checked="checked" id="one_oreo.com" name="one@oreo.com" type="checkbox" value="1" />
</td>
<td>
<input id="one_oreo.com" name="one@oreo.com" type="checkbox" value="2" />
</td>
<td>
<input id="one_oreo.com" name="one@oreo.com" type="checkbox" value="3" />
</td>
<td>
<input checked="checked" id="one_oreo.com" name="one@oreo.com" type="checkbox" value="4" />
</td>
<td>
<input id="one_oreo.com" name="one@oreo.com" type="checkbox" value="5" />
</td>
<td>
<input id="one_oreo.com" name="one@oreo.com" type="checkbox" value="6" />
</td>
</tr>
【问题讨论】:
-
顺便说一句 - Oreo.com 不是真实的 - 它是一个代号 :)
-
多个具有相同 id 的项目无论如何都是无效的 html。
-
您应该使用唯一的 id - 一个 id 值不应该重复。您是否在表单上使用 JS 验证器?它可能会导致/导致您的问题。
标签: html ruby-on-rails forms checkbox