收藏
回答

textarea 失去焦点(bindblur)响应比按钮点击慢,怎么提交表单

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug textarea 工具 最低版 1.6.6


场景:

地址的表单,获取表单内容我用的是bindblur事件,失去焦点后把组件内的值setData.。

如果还在编辑textarea里的内容,就点保存按钮,会先触发保存按钮的点击事件,再触发textarea的失去焦点事件,会造成表单的内容还没有获取到。

请问有什么办法可以解决?

回答关注问题邀请回答
收藏

21 个回答

  • 苏.
    苏.
    2018-04-04

    @陈,我的业务逻辑我可以改成点保存的时候再进行取值。但我的问题是解决这两个事件响应速度的问题,因为按照逻辑是失去焦点在前,点击按钮在后。这个Bug只有在textarea上有,input不会,所以应该是小程序组件的问题。实现功能是一方面的需求,但是解决bug才是我想要的,很多问题想回避,后面还是会遇到同样的坑

    2018-04-04
    有用
    回复
  • You can you up
    You can you up
    2018-04-04

    你知道实际场景有键盘就行,你的业务也不会有影响,没人会把保存按钮做输入框上方,不用纠结它

    2018-04-04
    有用
    回复
  • 陈
    2018-04-04

    楼主, 你一定要用户输入完地址后就保存吗,那你这个保存按钮有什么用呢

    2018-04-04
    有用
    回复
  • 苏.
    苏.
    2018-04-04

    我说的bug目前只在开发工具能复现。因为实际场景都是有键盘的,要点保存按钮需要先收起键盘。但是在开发工具可以输入完成后,直接点保存按钮。这时候通过断点就可以知道,按钮的点击事件是快于表单失去焦点事件的响应。

    2018-04-04
    有用
    回复
  • 陈
    2018-04-04

    ???,你是说键盘拉上来就下不去了吗,还是说你要在用户输入完地址后就保存,能具体说一下你要实现什么功能吗,具体点

    2018-04-04
    有用
    回复
  • You can you up
    You can you up
    2018-04-04

    我的意思键盘挡住 保存按钮  你点不到它

    2018-04-04
    有用
    回复
  • 陈
    2018-04-04

    不能点击保存的时候再保存吗

    2018-04-04
    有用
    回复
  • 苏.
    苏.
    2018-04-04

    bindinput键盘事件对取值是正常的,你可以试试,这相当js的keyup。但是ios会有交互问题,所以我改用了bindblur事件去取表单的值。

    2018-04-04
    有用
    回复
  • 陈
    2018-04-04

    键盘不一定吧,因为有些人输入完不按完成,而是把它隐藏怎么办,或者输入一半就按到确定,

    而且你要考虑到有没有人喜欢先输入地址再输入其他的

    2018-04-04
    有用
    回复
  • 苏.
    苏.
    2018-04-04

    你是说bindinput事件吗?在ios环境,这个事件的setData会有另外个bug

    2018-04-04
    有用
    回复

正在加载...

登录 后发表内容