我尝试用客户数据自动填充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 = 'foo@bar.de';
}
if (selectAnrede.value == "") {
selectAnrede.value = 'm';
}
if (inputVorname.value == "") {
inputVorname.value = 'Edward';
}
if (inputNachname.value == "") {
inputNachname.value = 'Black';
}表单正在填写,但是如果我提交了,那么我就可以看到--对不起,发生了一个错误。请检查您的数据.
此时请求有效载荷:

为什么会失败?
如果浏览器自动填充表单,那么它就能正常工作。
发布于 2018-08-02 09:47:20
表单的工作方式是它只得到更新的onchange。这意味着,如果您手动触发,您的代码将工作。
因为这看起来有点像一个解决方案,一个更干净的解决方案是实现它,类似于在Newsletter2Go主页上找到的示例表单实现。
相应的帮助文章可以在这里找到 (仅在德国自动取款机中可用)。
顺便说一句,自动用客户数据填充表单的Newsletter2Go 提供收件人配置文件链接。也许你可以用这个代替。
https://stackoverflow.com/questions/51502821
复制相似问题