如何为“其他 - 请指定”制作单选按钮?
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:”单选字段中,添加<input type="text" ...>
,样式为 display:none,仅在用户选择“other:”单选字段时显示。
但是,我不完全确定 #2 是否可行。你会从单选按钮获得rboption=other
,从文本字段获得rboption=some%20text
。一个通常会覆盖另一个,但不确定是哪个(阅读:取决于页面中的位置、浏览器和月相)。
可以肯定的是,使文本字段名称不同,并且仅在 rboption == 'other'
时处理它(就像 Salty 说的那样)
【讨论】:
酷。我将使用 javascript 显示可选文本字段,因此为了确保它优雅地降级,我想我会默认显示它并用 Javascript 隐藏它,除非需要它。以上是关于如何为“其他 - 请指定”制作单选按钮?的主要内容,如果未能解决你的问题,请参考以下文章