收藏
回答

提交表单和获取用户信息可以同时进行吗?

想做一个表单用户点提交的时候先获取用户信息获取成功后再提交,请问有没有方法实现?

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

4 个回答

  • brave
    brave
    2021-04-12

    这不影响吧,每个input / textarea 绑定 input 事件,button 点击事件调用 wx.getUserProfile 同意授权就调用接口提交表单数据。

    2021-04-12
    有用 1
    回复 6
    • 大圣
      大圣
      2021-04-12
      你的意思是我给每个input都绑定input并把值存在data里,获取用户信息回调里取值提交吗
      2021-04-12
      回复
    • brave
      brave
      2021-04-12回复大圣
      你的需求不就是不授权,就不让提交嘛
      2021-04-12
      回复
    • 大圣
      大圣
      2021-04-12回复brave
      我的意思就是不能在回调里直接调用bindsubmit方法吧,需要挨个监听input的值进行提交
      2021-04-12
      回复
    • 微喵网络
      微喵网络
      2021-04-12
      对,不行
      2021-04-12
      回复
    • brave
      brave
      2021-04-12回复大圣
      哦你是用form + button submit提交是吧,那你在此时调用 wx.getUserProfile 也不影响啊,在wx.getUserProfile的会调用加判断条件,同意授权就调用接口啊
      2021-04-12
      回复
    查看更多(1)
  • 游戏人生
    游戏人生
    2021-04-12

    可以啊。。。在获取信息回调后。。。写请求

    wx.getUserProfile({

    desc: '需要微信授权',

    success: (res) => {

    console.log(res)

    if (res.userInfo) {

    //这里写提交表单~~~ submit()

    } else {

    wx.showModal({

    title: '授权失败',

    showCancel: false,

    content: '请重新尝试',

    success(res) {}

    })

    }

    }

    })

    2021-04-12
    有用
    回复 3
    • 大圣
      大圣
      2021-04-12
      我的意思就是不能在回调里直接调用bindsubmit方法吧,需要挨个监听input的值进行提交
      2021-04-12
      回复
    • 游戏人生
      游戏人生
      2021-04-12回复大圣
      同一个按钮不行
      2021-04-12
      回复
    • 游戏人生
      游戏人生
      2021-04-12回复大圣
      同一个是来不及回调的。。。变成异步了,但这个肯定要按照顺序来
      2021-04-12
      回复
  • 微喵网络
    微喵网络
    2021-04-12

    可以同时,放一个点击事件里就行

    2021-04-12
    有用
    回复 3
    • 大圣
      大圣
      2021-04-12
      放在一起会同时出现,想做成获取用户信息成功后再提交
      2021-04-12
      回复
    • 微喵网络
      微喵网络
      2021-04-12回复大圣
      同时出现什么?放一起的意思就是在获取用户信息的成功回调里提交表单信息,表单值可以用双向绑定,也可以通过监听表单组件来获取
      2021-04-12
      回复
    • 大圣
      大圣
      2021-04-12回复微喵网络
      好的,这种方法我明白。我的意思就是不能在回调里直接调用bindsubmit方法吧,需要挨个监听input的值进行提交
      2021-04-12
      回复
  • 神经蛙
    神经蛙
    2021-04-12

    你可以在获取用户信息的成功回调里,把表单的数据提交给后台

    2021-04-12
    有用
    回复 7
    • 大圣
      大圣
      2021-04-12
      思路我明白,就是想问一下不用button触发的情况下可以在回调里获取表单的值吗
      2021-04-12
      回复
    • 神经蛙
      神经蛙
      2021-04-12回复大圣
      可以的,例如 input的值,你可以在监听事件里  this.data.inputValue = input的value 来获取
      2021-04-12
      回复
    • 神经蛙
      神经蛙
      2021-04-12回复神经蛙
      bindinput 键盘输入时触发
      2021-04-12
      回复
    • 大圣
      大圣
      2021-04-12回复神经蛙
      好的谢谢,我的意思就是不能在回调里直接调用bindsubmit方法吧,需要挨个监听input的值进行提交
      2021-04-12
      回复
    • 神经蛙
      神经蛙
      2021-04-12回复大圣
      哦~  可以的,但是得取个巧,你在button里再写一个view,让他一次性触发两个事件,写一个status判断用户信息的获取情况,在获取用户信息的回调里更改状态,在bindsubmit事件里判断status,如果用户没点击,setTimeOut延时几秒在执行bindsubmit一遍,如果用户信息获取成功就提交表单,获取失败就不执行
      2021-04-12
      回复
    查看更多(2)
登录 后发表内容
问题标签