我尝试用客户数据自动填写newsletter2go表单。该表单是使用我从newsletter2go后端获取的javascript代码动态创建的。
但是我发现,如果我使用javascript填写表格,该表格将无法使用!如果我手动填充它,效果很好。
我从开发者控制台执行了以下代码:
var inputEmail = document.getElementsByClassName("newsletterInput")[0],
inputVorname = document.getElementsByClassName("newsletterInput")[1],
inputNachname = document.getElementsByClassName("newsletterInput")[2],
selectAnrede = document.getElementsByClassName("newsletterSelect")[0];
if (inputEmail.value == "") {
inputEmail.value = '[email protected]';
}
if (selectAnrede.value == "") {
selectAnrede.value = 'm';
}
if (inputVorname.value == "") {
inputVorname.value = 'Edward';
}
if (inputNachname.value == "") {
inputNachname.value = 'Black';
}
表格已填写完毕,但是如果我提交,我会看到对不起,发生了错误。请检查您的数据。
此时请求有效负载:
为什么会失败?
如果浏览器自动填写表格,那么它将正常工作。
最佳答案
表单的工作方式是仅获取更新的onchange
。这意味着,如果您手动触发该代码,则代码将起作用。
由于这似乎是一种解决方法,因此更干净的解决方案是将其实现为类似于Newsletter2Go homepage上的示例表单实现。
相应的帮助文章can be found here(仅在德语atm中可用)。
BTW,Newsletter2Go offers a recipient profile link会自动用客户数据填写表单。也许您可以只使用它。