以下内容均已富途证券的新股认购模块为背景。入坑前很happy,果然和心里想的一样。新股认购上线没啥问题。视觉稿的输入交易密码大概就是下图的样子。新股认购的原稿找不到了,就找了一张bug单代替吧。很简单,只要校验输入的交易密码是否符合校验逻辑后提交,没有多余的操作。这样的设计其实前端要做的事并没有[多?]少。
旧版WEB输入交易密码嗯,没错。今天说的就是我和上面那个不起眼的输入交易密码框的故事。
App 输入交易密码设计稿,可以看到和WEB完全不一样,这是原生App的输入框好吧,这个规范设计交集让我踩到了。那怎么办呢,拉前端负责人,WEB设计负责人,App设计负责人,视觉负责人一起讨论呗。
新版-01 WEB输入交易密码从上图可以看到,点击“立即认购”按钮,就会弹出输入交易密码的弹窗,然后点击弹窗进行输入(软键盘这个版本并没有自动拉起)。输入完成后,按右图的1,2步骤提交密码。
通过li展示交易密码输入的长度原理就是把一个透明的input框放在ul上面,ul里面的li用来展示输入密码的长度。
用户反馈,点击提交无效,这无解。。。求拯救就这样,我成功入坑了。
新版-02 点击“立即认购”,弹出输入交易密码框,输入完后自动提交,提交完发现密码错误提示“重试”优化后的版本,更加美观和高效了,最重要的是用户体验也爽了。没有"确认"按钮的交易密码弹窗HTML:
点击输入交易密码,软键盘挡住了交易密码框,我的天呀。。。。第二个问题是测试的时候,发现自动提交交易密码后,软键盘并没有自动隐藏。被测试同学提了bug。
呜呜呜呜呜呜呜呜,bug。移动端咋这么多破事。刚解决2个问题,又来2个。
左1正常,右2有问题解决的方法就是:
左图为默认type="text" , 右图为type="text" pattern="[0-9]*"尝试使用type="number" 和type="password"。发现效果并没有上面使用<input type="text" pattern="[0-9]*"> 的效果好。
左图为默认type="number" , 右图为type="password"最后,经过对比,决定使用<input type="text" pattern="[0-9]*"> 格式。起码ios拉起的是9宫格,android拉起的是数字键盘。
当用户设置搜狗为默认输入法什么?????????拉起的软键盘居然时搜狗输入法,这一定是广告。
设置输入框 type="tel"这种操作一定要拿小本本记下来。
不能自动拉起软键盘现在想实现成可以在用户点击“立即认购”按钮之后,可以自动拉起软键盘。如下图所示。
自动拉起软键盘一般的做法就是在“立即认购”按钮上添加click事件,一旦"立即认购"按钮被点击,就触发交易密码框的focus事件。
按钮结构通过真机进行测试,发现居然可以正常拉起软键盘。猜想成立。
正常拉起数字软键盘实践说明,通过一个input输入框,拉起软键盘后,可以通过JavaScript执行focus()聚焦到其他输入框,并保证软键盘不会收起,并且可以正常对聚焦的输入框进行输入。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |