【问题标题】:Retrieve typeform form data in embed mode以嵌入模式检索 typeform 表单数据
【发布时间】:2019-11-26 11:06:12
【问题描述】:

我发现我可以使用以下代码连接到 onSubmit 事件:

typeformEmbed.makeWidget(this.$el, 'https://pptt.typeform.com/to/S70gmy', {
      onSubmit: event => {
        console.log('event.onSubmit', event)
      }
    })

但是,该事件是未定义的,就像 Typeform 一样,它只发送事件而不发送表单数据

那么就是这样:

window.addEventListener('message', function(event){
      if(event.data.type == 'form-submit')
        // your business logic here
    }, false);

但是我在那里找不到表单数据。

这可能吗?我想将 typeform 数据发送到其他地方,或者将其附加到我拥有的另一个普通表单中。

【问题讨论】:

    标签: javascript typeform


    【解决方案1】:

    看起来你正在使用Typeform Embed SDK

    不同的方法来做到这一点:

    • 在这个表单上有一个 webhook,当表单被提交时它会被 ping 通,在那里你将可以访问答案的整个有效负载。 Doc

    • 在onSubmit动作上,获取响应id并调用Typeform Responses API查找对应的响应。

    const reference = typeformEmbed.makePopup(
      'https://admin.typeform.com/to/PlBzgL',
      {
        onSubmit: function (event) {
          console.log(event.response_id)
        }
      }
    )
    

    我希望它有所帮助。 我们正在考虑在不久的将来对此 SDK 进行改进。

    (编辑:2020 年 8 月 25 日,Embed SDK 现在支持此用例)

    【讨论】:

    • 谢谢您,除了想要确认之外找不到任何东西。 Paperform 是一个不错的选择
    • 我只是检查了他们的文档,你是对的,他们确实提供了这个功能。感谢您的反馈,Typeform Embed SDK 可能很快就会出现 ?
    • 这太荒谬了。我创建了我的 Typeform,将其嵌入到我的网站中,现在发现您无法将数据从 Typeform 本身获取到页面本身?该产品对于当前形式的严肃开发毫无用处。
    • 我更新了我的响应,因为 Typeform 最近更新了 SDK,并且 onSubmit 回调现在包含一种检索响应 ID 的方法。奥古斯托,如果您有任何问题/反馈,很乐意私下聊天
    • @NicolasGrenié 我刚刚测试了新的onSubmit 回调。我尝试使用 Responses API 获得答案,但遇到了两个问题:有 CORS 策略阻止在前端进行调用,并且当我调用 API 时无法立即获得答案。我必须实现一个重试逻辑来重试呼叫,直到答案可用。现在使用真的很痛苦..为什么不在回调中直接提供答案?它将解决这两个问题,并且更容易集成。
    猜你喜欢
    • 2021-01-10
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多