使用Javascript设置HubSpot隐藏表单字段的值



我在网站的头部有一小段Javascript代码:

<!-- Unique form ID -->
<script>
document.querySelector('input[name=form_submission_id]').value = new Date();
</script>

我的目标是获得一个隐藏的表单字段与名称'表单提交id'填充与日期戳,但我不断得到错误-不能设置属性'值'为null

如果我进入检查器工具并取消隐藏的表单字段,上面的代码工作,如果它是隐藏的,我得到错误。

这是一个链接到现场表单:https://easytrimreveals.com/samples/

我假设这是表单加载后的脚本已经发射,但我不知道如何解决,如果是这种情况。

我试着为脚本创建一个超时延迟来触发,但这似乎也不起作用。

<script>
var formId = function() {
document.querySelector('input[name=form_submission_id]').value = new Date();
}
document.onload = function() {
setTimeout(formId, 3000);
}
</script>

最后得到了朋友的帮助,问题解决了!

谢谢你的帮助!

<script>
window.addEventListener('message', event => {
if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormReady') {
document.getElementById("hs-form-iframe-0").contentDocument.querySelector('input[name="form_submission_id"]').value = new Date();
}
});
</script>

最新更新