收藏
回答

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

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

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

4 个回答

  • 圣殿骑士
    圣殿骑士
    04-12

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

    wx.getUserProfile({

    desc: '需要微信授权',

    success: (res) => {

    console.log(res)

    if (res.userInfo) {

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

    } else {

    wx.showModal({

    title: '授权失败',

    showCancel: false,

    content: '请重新尝试',

    success(res) {}

    })

    }

    }

    })

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

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

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

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

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

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

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