根据选中的单选按钮检查隐藏的输入字段

时间:2013-02-25 19:51:39

标签: jquery radio-button hidden-field

我在这里搜索过,但是,尽管找到了很多相似且很可能更复杂的情况,但找不到我想要做的答案。

基本上,在我网站的搜索表单中,我想提供2个单选按钮选项:

<label><input type="radio" name="question_9[]" value="Blue" checked="checked" />Blue</label>    
<label><input type="radio" name="question_9[]" value="Green" />Green</label>

但我希望通过搜索表单提交的内容是:

<input type="hidden" name="question_9[]" value="Blue"  checked="checked"/>
<input type="hidden" name="question_9[]" value="Blue/Green"  checked="checked"/>

OR

<input type="hidden" name="question_9[]" value="Green"  checked="checked"/>
<input type="hidden" name="question_9[]" value="Blue/Green"  checked="checked"/>

取决于提交表单时选中的单选按钮。

我最近使用的软件从scriptaculous迁移到JQuery,我完全是新手。我希望有一种简单的方法可以根据选择的单选按钮为问题传递2个值,因为据我所知,我只能用单选按钮选择一个值,除非我做这样的解决方法。由于单选按钮本身不会/不应该使用表单提交值,因此可以重命名它们或者需要进行任何操作才能使其工作。

我非常感谢任何提示,我再次看到并没有找到另一个问题要求做同样的事情(有点让我感到惊讶),但希望我不会因为这样的问题而多余。

1 个答案:

答案 0 :(得分:0)

您将无法使用相同的名称提交两个值 - 无论您使用单选按钮,复选框,隐藏文本字段还是其他任何值。您需要考虑处理数据的PHP / ASP脚本会看到什么 - 例如对于PHP,$ _POST ['question_9'](或$ _GET ['question_9'])有什么价值?该值需要从单个字段传递。

好消息是你不需要任何花哨的javascript技巧来将正确的信息传递给你的脚本。如果您希望PHP变量为“Blue Blue / Green”,您只需将单选按钮的“value”元素更改为“Blue Blue / Green”。

您需要在PHP端解析您的值 - 例如

$colorArray = explode(' ',$_POST['question_9'])

PHP explode()会使用分隔符将字符串分解为数组,在此示例中使用空格。

编辑:

回应澄清,解决方案更简单。无论是蓝色还是绿色,单选按钮都会显示 - 如果你想同时提交蓝色/绿色作为“question_9”数组的一部分,无论是否选中蓝色或绿色,你应该只需添加一个像你说的隐藏字段(删除'checked'属性,因为它只适用于复选框和单选按钮):

<input type="hidden" name="question_9[]" value="Blue/Green"/>
相关问题