[解決方案:通過將「[]」連接到結尾來將我的名稱更改爲數組。此外,將我的ID更改爲符合HTML規範的唯一值]HTML Form複選框沒有按照我期望的那樣提交
我創建了一個窗體,它具有每行一個用戶的複選框矩陣(html表格)以及用戶對列的權限。每個單元格都有一個複選框。連續的每個複選框都將「名稱」設置爲用戶的電子郵件地址(唯一)。複選框的值是特定權限的ID。當我點擊提交按鈕並檢查從HTTP POST返回的參數時,只有最右邊的複選框被設置用於檢查多個框的行。
例如,有三個複選框,第一個和第二個選中,第三個未選中。我只收回第二個複選框的name = id。
我在Rails中構建表單,雖然我不相信這真的是相關的。此外,這種行爲的瀏覽器是Chrome,Iceweasel和Epiphany ......所以我認爲這是我的形式。
我形式的摘錄:
<tr>
<td>UserOne</td>
<td>[email protected]</td>
<td>
<input checked="checked" id="one_oreo.com" name="[email protected]" type="checkbox" value="1" />
</td>
<td>
<input id="one_oreo.com" name="[email protected]" type="checkbox" value="2" />
</td>
<td>
<input id="one_oreo.com" name="[email protected]" type="checkbox" value="3" />
</td>
<td>
<input checked="checked" id="one_oreo.com" name="[email protected]" type="checkbox" value="4" />
</td>
<td>
<input id="one_oreo.com" name="[email protected]" type="checkbox" value="5" />
</td>
<td>
<input id="one_oreo.com" name="[email protected]" type="checkbox" value="6" />
</td>
</tr>
順便說一句 - Oreo.com並不真實 - 它是一個代號:) :) – Steve 2012-03-17 01:24:21
多個具有相同ID的項目無論如何都是無效的HTML。 – Reactormonk 2012-03-17 01:29:46
你應該使用唯一的ID - 一個ID值永遠不應該重複。你在表單上使用JS驗證器嗎?它可能會導致/導致你的問題。 – 2012-03-17 01:32:23