我有一個搜索表單默認情況下選中幾個複選框。當表單提交時,作爲一個GET,url將只包含被選中的複選框列表。如何使複選框具有與其他輸入相同的提交行爲?
http://www.example.com/page/?checkbox1=yes&checkbox2=yes
很難與這種情況下,以確定當用戶第一次到達這個搜索頁面,當他們提交表單時取消選中所有的複選框,因爲查詢字符串看起來相差無幾。
爲了解決這個問題,我已經開始在複選框之前注入一個隱藏的字段,其名稱和'no'值相同。當複選框未被選中時,瀏覽器將發送隱藏字段的無值,當設置了複選框時,瀏覽器將使用複選框的「是」值覆蓋隱藏字段。
<input type="hidden" name="checkbox1" value="no" />
<input type="checkbox" name="checkbox1" value="yes" />
當用戶提交表單與所有的複選框取消選中我得到這個查詢字符串:
http://www.example.com/page/?checkbox1=no&checkbox2=no
這似乎在FF工作,鉻,IE5.5 +所以我'我要安全使用這種方法還是有更好的方式來使複選框提交像輸入和選擇?
只有在使用提交按鈕提交表單時(並且只有在有值的情況下)。如果表單是通過回車鍵(至少在某些瀏覽器中)或JavaScript提交的,則不會提交。 – Quentin 2010-06-10 19:15:07
因爲他沒有發送提交值,所以你適合IE瀏覽器。我的第一個建議(反正更好)將解決問題:) – 2ndkauboy 2010-06-10 19:24:33