我正在尝试序列化 Hubspot 表单中的输入数组以添加或更改 cookie,但我不断收到错误
onFormReady function from hbspt.forms.create TypeError: e.serializeArray is not a function
,而且我不知道该怎么办。我试图不使用 jQuery,我可以用什么来代替它?
<script>
hbspt.forms.create({
region: "",
portalId: "",
formId: "",
redirectUrl: "/thank-you/",
onFormReady: function(e){
e.serializeArray().map(x=>{
let cookie_val = Cookies.get(x.name)
if (cookie_val && cookie_val != ''){
e.find('input[name="'+x.name+'"]').val(cookie_val).change();
}
})
}
});
</script>
根据docs,
onFormReady
返回form
对象。它不是一个数组,所以你可以尝试序列化输入:
onFormReady: function(e){
e.find('input').serializeArray().map(x=>{
let cookie_val = Cookies.get(x.name)
if (cookie_val && cookie_val != ''){
e.find('input[name="'+x.name+'"]').val(cookie_val).change();
}
})
}