表单

点下去,什么都没发生

3 分钟阅读
作者
Ethan Pier

按钮就在那里。我点了。什么都没发生。

那是潮汐详情页末尾的反馈。入口很低调,不弹窗,不遮罩。页面看起来已经能用。我在一个偏慢的网络上点提交,手指抬起来,字还在输入框里,按钮也还是原来那句。没有转圈。没有报错。像这次点击被空气吃掉了。

后来我才懂,那是脚本还没把表单接活。样子先到,手还没到。人看见能点的东西,就会点。点了没有下文,责任会被算在自己头上:是不是没选类别,是不是网络不行,是不是我没按结实。

我把提交改成普通表单该有的样子:有类别,有一句说明,有一个会变成“提交中”的按钮。发送的时候把整块暂时锁上,免得连点。成功就说收到。同一条已经报过,就不要再装成第一次。

真把人挡住的,常常是对面说“太频繁”,或者网络自己断了。这两种失败如果都显示成一句含糊的“出了点问题”,人会换着法再试,然后把自己试进真正的限制里。限流就说限流。网络断了就说现在连不上。听起来不温柔。至少方向是对的。

还有一种更安静的失败。有人用程序自动填表。我在表单里留了一个正常人看不见的空位。填了,后端就当没看见。我要的是人填的那几条还在,自动填的可以丢掉。

提交成功的记录留在这台机器上,避免同一篇、同一类被自己连点两次。这挡得住手滑,挡不住换一台设备。真正的闸在服务器那边。两边要一起在,只靠浏览器里的记号,会把认真的人拦下,把不认真的人放过去。

我后来不太相信“看起来能点”。能点是一种外观。点下去之后有没有下文,才是表单有没有活。

有时我还是会在页面刚出来时就去点。点空了,我会停一下,等它真正醒来。这种停顿不该由读者来发明。