2010-05-05 37 views
4

沒有人有沒有JavaScript使HTML複選框仍然提交值的方法?如果您檢查它,表單提交將包含一個值A,但如果它未被選中,它仍然包含值B?Checkbox'off'value without JavaScript

雖然我認爲沒有任何辦法,但我正在研究一個需要在JS關閉時仍然可以工作的站點,而且這將是理想的。

+3

我們正處於HTML5,IPad,Android時代,您仍然試圖在沒有JavaScript的情況下支持瀏覽器?這是褻瀆。 – 2010-05-05 02:16:27

+1

我儘量不要根據瀏覽器設置來篩選潛在客戶:P(try) – 2010-05-05 02:42:37

+0

我正在尋找這個確切問題的答案,但恐怕不是 - 正如答案中指出的那樣。雖然你可以用JavaScript來做,但感覺有點'哈克'。所以我對不使用javascript的興趣會是因爲它不漂亮,不支持沒有javascript的瀏覽器。因此,在我看來,這個問題在當前的'時代'中非常有效。 – kasimir 2011-11-03 11:03:55

回答

7

HTML複選框不應該這樣工作。如果選中複選框,則會發送定義的參數名稱=值對。如果取消選中它,它將不會被髮送。在服務器端,您只需檢查參數映射中是否存在參數名稱(或在命名組中有多個複選框的情況下的值),並相應地進行處理。如果存在,則檢查。如果缺席,則不檢查。就那麼簡單。您已經知道服務器端的「未檢查的值」。

+0

很好的解釋。 – 2010-11-08 09:10:20

4

可能能夠做到這一點,具有相同的name隱藏的表單元素。但是,不同的瀏覽器可能會以不同的方式處理提交的優先級(如果複選框被選中),那麼最好的辦法就是解決方案。

+0

這是一個非常好的轉機,但優先級可能是一個重要問題。 – 2012-08-01 10:15:59

0

我工作的其中一個問題的方式是設置一個隱藏的表單元素,其中包含所有用逗號分隔的複選框names。然後,在服務器端,我簡單地分解了這個字符串並檢查了哪些複選框是打開和關閉的。但是,它仍然感覺像是黑客,但我當時對JavaScript並不熟悉,所以這就是我最終做的。考慮在這個時候修改這個。

我希望這會幫助別人。