【2019-12-20】设计元素12篇-表单(转)

初识

输入文字发帖;填写用户名、密码登录… 这些都是表单(Form)。

与常规的页面不同,表单是供用户输入信息的,输入完了要“提交”。


左图是一个表单,填写完,要点“完成”,将输入的内容提交;不想保存这次的修改,点“取消”,不提交并且离开。
右图是常规的页面,页面左上角是“后退”按钮,这里并不存在“输入的信息是否提交”的问题。

程序代码里,表单是这样的:
< form >……< /form >
装在form标签里的,form中文译为:表单。

表单里使用很多“表单原件”:文本输入框、单选按钮、复选框、下拉菜单、开关、滚轮… 通过这些表单原件,让用户输入信息。

概况一下表单(form):


这样一个供用户输入信息用的页,其中包括一系列表单原件,“提交”按钮将输入的信息提交,“取消”按钮,放弃,离开。


提交与取消

如果一个表单是被“打开”的,比如:


这个登录窗口,是点了“登录”后弹出的,那就需要有“取消”按钮,这里的取消按钮是弹出窗口右上角的X。
如果表单是在页面里的一部分,比如:


发新微博这个模块,也是个表单,是在这个首页里的一部分,这就不需要“取消”了。

windows系统里,会出现下面这样的情况:


除了“确定”、“取消”,还有一个“应用”按钮,这按钮是什么意思?
确定-提交并关闭;
取消-不提交并关闭;
应用-提交但不关闭。
够神奇吧,我以为多数用户并不知道这个“应用”按钮的确切功能。

为什么要这么个按钮呢?
在这个表单窗口里给“计算机”换个图标,提交,在后面的电脑桌面上会看到真实的效果,如果不满意,可以再改。要方便反复的改,所以提供了这个“提交但不关闭”的功能。
但这个“应用”按钮,实在不应该有,因为没人懂。要避免掉这个问题,解决办法应该是避免掉这样的窗口。这恐怕不是三言两语能说明白的了,需要单独一个主题“模式化”再说了。

“提交”与“取消”这两个词,在不同的场合里,可以换成不同的词。
“提交”也可以换成:发送、完成、保存…
“取消”也可以换成:放弃,算了吧,我再想想… 很多时候也直接用“X”图标。

用户在表单里,单选、复选、文字输入,搞了半天,不小心按到了“取消”,全没了,这太可怕了。所以得有个“二次确认”,避免误操作。
用户的输入是操作成本比较高的,要避免这些操作前功尽弃。

以前,一些表单里还会设计一个复位(reset)按钮,按了之后,把表单里填的内容一键清空,这实在是太恐怖了。如果用户哪里输入错了,自己去改就好了,要把之前输入的全都清空,这可能性几乎没有。如果是根本不想填这个表单了,就“取消”,离开就好了。因为技术上可以很方便的实现,于是就做了这样的功能,这就不对了。做什么功能,应该是因为“用户需要”,而不是“能实现就做出来,用不用随用户的便”。


立即生效

操作了这个开关,并没有“提交”按钮,直接就生效了。这种情况怎么理解?
有右箭头的那些行,每行是一个链接,各自指向新页面。
有开关的这些行,各自是一个表单,每个表单里都只有一项“开关”表单原件,这些表单并都没有“提交”按钮,是操作了“开关”之后,自动就提交了。

即时生效,不需要额外再点一下“提交”按钮,省事儿,当然是好,但也要小心,说不定用户会反复的开关着玩。所以这种立即生效的做法,用在非网络的数据提交比较常见,比如,手机系统里,开关这个数据只是提交给了本地手机系统,这反复几次也没啥关系。如果是通过网络提交给服务器的,程序的设计上通常会做个延迟,用户不再操作了,过几分钟,再真的提交给服务器,避免不必要的数据往来。


避免表单嵌套

我们来看一个微博中如何设置职业信息:


到达图3状态时,此时有两个表单,是一个套一个的。这是就有了问题,用户点击了“确定”后,到达图4状态,可能会以为已经完成了,但其实还要点右上角的“保存”才是真的完成了。
当然技术上也可以做到,在图4状态时,即使用户没点“保存”,也将已做的修改提交到服务器,但同样有问题,另外一些用户可能会说:“我还没保存呢,怎么就生效了?”

问题的源头还在于图3时出现了“表单套表单”的状况,应该避免出现这种嵌套。怎么做?
上面的这一组截图是微博PC网页版较早一个版本的,下面的是目前(2019年8月初)的版本,目前的版本已经改好了:


图3状态时,只有一个表单了。
到达图4时,此时刚才所做的修改是不是已经生效了?当然生效了。图4的表达并不会让人有歧义。现在只不过是“职业信息”部分展开着,并不是“尚未保存”的状态。

从2018年初到2019年中,微博PC网页版的这个设置,有过多次修改。一直在与这个“表单套表单”搏斗。目前的版本,总算是处理好了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • 1.背景介绍 表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所...
    枫尘逍遥阅读 2,478评论 0 0
  • 本节重点 HTML5中添加了许多新特性的表单元素 表单元素主要表现在 元素Element + 类型Type + 属...
    南航阅读 2,796评论 0 4
  • 文档和元素的几何滚动 当浏览器在窗口中渲染文档时,它将会创建文档一个视觉表现层,在哪里每个元素都有自己的位置和尺寸...
    小小小8021阅读 192评论 0 0
  • 一、本课目标 了解表单元素的应用场景 掌握表单元素的语法 掌握常用的表单元素 二、表单语法 分析: 网页总插入一个...
    lifeline张阅读 811评论 0 1
  • 表单,主要用于数据采集的功能。通过表单,用户可实现数据的增/删/改,这是展现层一个非常核心的部分。表单暴露给用户有...
    晨曦边阅读 338评论 0 1