收藏
回答

能否实现同一个button,先执行getuserinfo事件,再提交表单?

在创建页面一般需要用户主动提交表单,然后显示在主页里。但是在同一个button里,总是先提交表单写入数据库,再向用户授权获取昵称头像,导致第一次创建无法获取用户昵称头像,无法显示昵称头像。有什么办法能做到先授权获取昵称头像再提交表单,总不能专门再做个button来获取用户信息吧…………官方不给调用wx.authorize(Object object)来向用户授权,真的很难提高用户体验。





最后一次编辑于  08-02  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

10 个回答

  • 旅途
    旅途
    08-02

    为什么不在授权成功回调里面提交数据

    08-02
    赞同 11
    回复
  • 钟兆国
    钟兆国
    08-02

    给你个思路 有个叫做bindgetuserinfo的参数 用来接收getUserinfo的回调 你可以在这里面执行

    08-02
    赞同 11
    回复
  • 思男
    思男
    08-02

    一二楼是对的,设置bindgetuserinfo事件,提交表单在里面的授权成功判断之后操作就可以了。

    08-02
    赞同 11
    回复 4
    • 梦之狼
      梦之狼
      08-02
      但问题是一个获取用户授权的bindgetuserinfo事件和提交表单的submit事件,两个函数都要接受不同的参数,依赖于getuserinfo的回调就要把submit嵌套在其中,那这样要传给submit的参数就变了。
      08-02
      赞同
      回复
    • 梦之狼
      梦之狼
      08-02
      接下来要执行submit事件就会报错了,我觉得四楼的@winter°C的思路比较适合
      08-02
      赞同
      回复
    • 思男
      思男
      08-05回复梦之狼
      看你们产品需求,是否要求一步操作完毕了,参数是可以存在变量里的,整个form表单里的参数存在form变量里,全部是form.xx form.xx,提交的时候直接提交form即可。
      08-05
      赞同 11
      回复
    • 梦之狼
      梦之狼
      08-05
      好的
      08-05
      赞同
      回复
  • 手信云
    手信云
    08-02

    其实从用户体验来讲,多点一次,用户没关系的,按钮这个地方做一个if判断,优先显示获取信息的按钮,点击获取后就写一个状态变量,展示else的表单提交按钮。楼上几位说的,授权后回调直接提交数据,也是可行的。

    当然,个人觉得这个问题本质上还是产品设计的问题,可以提交数据之前的一些相关操作上引导先授权头像的。

    08-02
    赞同 11
    回复 1
    • 梦之狼
      梦之狼
      08-02
      正合我意!!
      08-02
      赞同
      回复
  • winter°C
    winter°C
    08-02

    对form下的button做个判断,两个一样的button样式,授权过了显示提交表单的button,没有授权显示授权的button

    08-02
    赞同
    回复