如何为“其他 - 请指定”制作单选按钮?

Posted

技术标签:

【中文标题】如何为“其他 - 请指定”制作单选按钮?【英文标题】:How can I make a radio button for "Other - please specify?" 【发布时间】:2010-09-29 06:24:55 【问题描述】:

我正在创建一个带有一些单选按钮选项的 html 表单。我希望有一个选项为“其他 - 请指定”并允许用户输入内容。

两个问题:

1) 如何创建radio/text 的“混合”输入类型?

2) 在 php 后端,如果输入与单选输入具有相同的name 属性,那么用户的输入会属于同一个数组吗?

【问题讨论】:

什么类型的表格? HTML? 是的 - 抱歉我没有指定。 【参考方案1】:

为什么不给输入添加一个不同的 name 属性,并且只在 other 单选按钮被选中时才验证它?

【讨论】:

【参考方案2】:

我是这样做的:

<input type="radio" name="phone" value="313-375-2151">Taylor <br>
<input type="radio" name="phone" value="555-444-1234">OverheadHts <br>
<input type="radio" name="phone" value="555-333-1234">Smith Ctr <br>
<input type="radio" name="phone" value="444-344-1234">Mainsville<br>
<input type="radio" name="phone" value="other">Other:
    <input type="text" name="phone-other" size="14">

然后当你处理表单时:

$phone = mysql_real_escape_string($_POST['phone']);
if ($phone =='other')
  $phone = mysql_real_escape_string($_POST['phone-other']);

等等

【讨论】:

【参考方案3】:

#1:在“other:”单选字段中,添加&lt;input type="text" ...&gt;,样式为 display:none,仅在用户选择“other:”单选字段时显示。

但是,我不完全确定 #2 是否可行。你会从单选按钮获得rboption=other,从文本字段获得rboption=some%20text。一个通常会覆盖另一个,但不确定是哪个(阅读:取决于页面中的位置、浏览器和月相)。 可以肯定的是,使文本字段名称不同,并且仅在 rboption == 'other' 时处理它(就像 Salty 说的那样)

【讨论】:

酷。我将使用 javascript 显示可选文本字段,因此为了确保它优雅地降级,我想我会默认显示它并用 Javascript 隐藏它,除非需要它。

以上是关于如何为“其他 - 请指定”制作单选按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何为单选按钮列表创建数据源?

如何为单选按钮分配一个值并稍后在 Android 中检索该值?

如何用图像替换单选按钮? [复制]

如何为 RadioButton 赋值

在 tkinter python 中给单选按钮一个默认值

如何为当前打开的标签实现本地存储?