2010-05-05 46 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并不熟悉,所以这就是我最终做的。考虑在这个时候修改这个。

我希望这会帮助别人。