选按钮和下拉菜单是两个非常重要的输入控件,当用户输入时,他们都可以互换使用。但它们在不同的场景中的使用有不同的效果,本文主要讲述关于它们使用的7个规则。
无论你是正在使用移动app还是网页,表单是用户界面非常重要的一个组成部分。用户通过表单系统输入其信息,解释满足用户请求的信息。
来源:www.formassembly.com
有些项目是可以使用表单,包括输入控件、输入验证、错误处理和用户反馈。
单选按钮和下拉菜单是两个非常重要的输入控件,当用户输入时,他们都可以互换使用。但就这些控件的可用性而言,在某些场景中使用单选按钮和下拉菜单,可以让用户更容易的选择给定的输入。
下面是基于可用性研究的几条规定,这些规定会在设计表单时,帮助你决定哪一个控件更合适。
可能有多种情况下你想强调选项:
当选项需要强调时
在案例中,因为默认选项没有提供关于其他选项的线索,所以使用下拉菜单看起来不是很好。
较小的选项可以并排放置,以便:
更少的选项
如果用户要从2个到4个选项中进行选择,最好使用单选按钮,如示例所示。
可比较的选项可以并排放置,因为:
选项的比较是必需的
上面是关于用户做出一个严谨的决定的订阅计划的选择。
选项清晰的能见度和快速响应对用户来说更易理解。
长表单—— Survey Monkey Questionnaire
从给定的例子中可以明显看出:当所有可选择的选项对用户可见时,长表单能提供良好的用户体验。
仅查看推荐的选项让用户能更容易做出选择,因为:
默认推荐选项
例如:不用显示所有选项,因为用户有较小的机会会更改默认选项。
有大量相似选项时,推荐用下拉菜单显示,因为:
大量相似选项
大量的选项并不适合并排显示,因为:
超过7个选项
此外,对于长下拉列表,提供一个文本框是一个很好的做法,用户可以在其中键入选项名称,列表仅显示过滤选项,这使得选择更容易和更快。
输入选项来过滤列表
为了增强表单的用户体验,提供正确的控件对接受用户的输入是非常重要的。因为表单会有很长的选项,所以如果用户需要额外点击来补充其信息,这个过程就会很无聊。
在设计表单时,这一组规则会帮助你在单选按钮和下拉菜单之间做出正确的决定。
原文作者:Saadia Minhas(UX设计的热衷者)
原文地址:https://blog.prototypr.io/7-rules-of-using-radio-buttons-vs-drop-down-menus-fddf50d312d1
本文由 @SKYUI 翻译发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
elect是HTML中的下拉列表标签,支持单选和多选,但是不支持手动输入,以下是一些解决方案。
Datalist是HTML5的原生标签,用于向input提供下拉和自动提示选项,支持输入和下拉选择两种方式。但是目前IE10及其以下浏览器并不支持, 并且IE11无法触发input和change事件,相当于IE系列均无法很好地实现。如果仅支持Chrome或Eletron桌面的应用则可以放心使用。
好处不需要引用额外的JS/CSS文件支持,示例:
<input list="cookies" placeholder="Type of Cookie"/> <datalist id="cookies"> <option value="Chocolate Chip"/> <option value="Peanut Butter"/> <option value="Raisin Oatmeal"/> </datalist>
在线示例 http://jsfiddle.net/joshpauljohnson/Uv5Wk/
有时侯,我们是必须要兼容旧版IE的。而且很多时侯,我们并不需要datalist的自动补全功能,我们可能更希望即使下拉选择中没有匹配用户输入的内容,所有选项也能够弹出来。这样通过纯HTML+CSS即可实现,基本原理是使用 input/select 两个元素,然后 input 覆盖在 select 上层 ,宽度并比select窄一点,这样用户就能点到select的箭头弹出下拉框。参考: Stackoverflow
<div class="select-editable"> <select onchange="this.nextElementSibling.value=this.value"> <option value=""></option> <option value="115x175 mm">115x175 mm</option> <option value="120x160 mm">120x160 mm</option> <option value="120x287 mm">120x287 mm</option> </select> <input type="text" name="format" value="" /> </div>
.select-editable { position:relative; background-color:white; border:solid grey 1px; width:120px; height:18px; } .select-editable select { position:absolute; top:0px; left:0px; font-size:14px; border:none; width:120px; margin:0; } .select-editable input { position:absolute; top:0px; left:0px; width:100px; padding:1px; font-size:12px; border:none; } .select-editable select:focus, .select-editable input:focus { outline:none; }
在线示例: http://jsfiddle.net/nwH8A/
这是一个由JavaScript编写的自动补全插件,不依赖jQuery且仅有5.4kB
项目地址:https://github.com/Pixabay/JavaScript-autoComplete
Magicsuggest是一个非常流行的自动补全插件,复用了Bootstrap的CSS样式,基于Bootstrap框架的可以考虑
https://github.com/nicolasbize/magicsuggest
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
HTML表单
HTML 表单用于搜集不同类型的用户输入。
<form> 元素
<form> 元素定义 HTML 表单:
语法:<form></form>
HTML 表单包含表单元素。
表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。
<input> 元素有很多形态,根据不同的 type 属性。
1. 文本输入
<input type="text"> 定义用于文本输入的单行输入字段
2、密码框
<input type="password"> 定义单选按钮。
密码框是为了隐藏用户密码信息的输入框,语法形式与文本框差不多,不同的是类型 为 password。
3、单选按钮输入
<input type="radio"> 定义单选按钮。
单选按钮是在表单中有多个选项,且只能选一个的情况下使用。
注:checked表示默认选中项。
如:<input type="radio" name="sex"checked> 男
<input type="radio" name="sex"> 女
表示默认选中男项。
4、复选框(Checkboxes)
<input type="checkbox"> 定义了复选框。
复选框是可以选多个选项的选项框,与单选不同的是复选框可以选取多个选项,而且也可以默认几个选项都处于选中状态。
注:checked表示默认选中项。
如:<input type="checkbox" checked>
5、<select> 元素(下拉列表)
下拉列表是可以选择的列表,当在列表中选择要选的选项时使用,只能选其中一个选项(通过设置也可以选几项)。
语法:
<select>
<option>北京</option>
<option selected>上海</option>
</select>
注:selected 表示默认选中项
6、<textarea> 元素(文本域)
<textarea> 元素定义多行输入字段:
文本域是用在要输入多行文本,填写大量的文字时用到。
*请认真填写需求信息,我们会在24小时内与您取得联系。