-1

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

基本上,在我网站的搜索表单上,我想展示 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"/>

或者

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

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

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

我真的很感谢任何提示,我再次查看并没有发现另一个问题要求这样做(让我感到惊讶),但希望我不会对这样的问题感到多余。

4

1 回答 1

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"/>
于 2013-02-25T22:31:19.087 回答