用户点开表单,浏览器自动把邮箱填进了手机号那一栏,把公司名填进了姓名,用户还得一个个改回来。乍看像缓存或者权限的锅,追下去往往不是。
<input name='tel' type='tel' autocomplete='tel'> <input name='email' type='email' autocomplete='email'> <input name='name' autocomplete='name'>
追下去是这么回事:输入框的 name 和 autocomplete 都没有明确语义,浏览器只能靠相邻的文字去猜,猜错就把上次存下的值塞进了这一栏,用户得逐个手动改回来。
「自动填充字段错位」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
具体做法是,给每个输入框都写上规范的字段名,并配上对应的自动填充类型;手机号那一栏用 tel 类型,并配上对应的自动填充标记;只在需要的框上开自动填充,别把整个表单关掉。
验收就看一点,让浏览器用保存过的资料自动填一次,每个值都落在对应框里。
