選按鈕和下拉菜單是兩個非常重要的輸入控件,當用戶輸入時,他們都可以互換使用。但它們在不同的場景中的使用有不同的效果,本文主要講述關于它們使用的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小時內與您取得聯系。