1

不再可以按如下方式预填充自定义字段:

window.zESettings = {
  "webWidget": {
    "contactForm": {
      "fields": [
        {
          "id": 360009742832,
          "prefill": {
            "*": "372"
          }
        },
        {
          "id": 360009742852,
          "prefill": {
            "*": "MIT Design Thinking - Oct 18"
          }
        }
      ]
    }
  }
}

更新:创建了两支笔来演示该问题: https : //codepen.io/ovvn/pen/qMXeEv,https: //codepen.io/ovvn/pen/vzJoXO

4

2 回答 2

1

对于其他遇到预填充字段问题的人,我遇到了同样的问题,并通过单独加载预填充设置而不是在 zESettings 中使其工作。如此处所述:/embeddables/docs/widget/core#prefill

因此,基本上,您制作 1 个脚本标签以将 window.zESettings 用于除 contactForm 字段之外的设置:

<script type="text/javascript">
  window.zESettings = {
    webWidget: {
    position: {
      contactForm: {title: {'*': 'Submit an issue'}
    }
  };
</script>

还有另一个脚本标签来加载 zE('webWidget', 'prefill', { your field settings here });

<script type="text/javascript">
  zE('webWidget', 'prefill', {
    name: {value: 'your name'},
    email: {value: 'some email'},
    description: {value: 'Add a description'}
  });
</script>

但是,您将需要在预填充设置中添加延迟,因为在实际启动小部件之前不存在“zE”。可能有更好的方法,但我已经花了比我想要的更多的时间。如果我从 Zendesk 支持人员那里收到更好的解决方案,我会相应地更新这篇文章。

于 2019-06-25T11:45:39.347 回答
0

不知道它是否有区别,但我有它的工作,我不包括window,我也没有在 zE.settings 中的对象周围加上引号。我下面的示例仅在选择表单、点击后退按钮并再次选择表单后才有效 -

window.zESettings = {
  webWidget: {
    contactForm: {
      ticketForms: [
        {
        id: 488608,
        fields: [
          { id: 'description', prefill: { '*': 'My field text' } },
          { id: 360000325513, prefill: { '*': '4283923' } }  
          ]
        },
        {  
          id: 360000101663,
          fields: [
            { id: 'description', prefill: { '*': 'My field text' } },
            { id: 360000325513, prefill: { '*': '4283923' } }
          ]
        }
      ]
    }
  }
}
于 2018-09-05T06:36:19.077 回答