我尝试使用客户数据自动填写 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';
}
表格正在填写,但如果我提交,我会看到抱歉,发生错误。请检查您的数据。
为什么会失败?
如果浏览器自动填写表单,那么顺便说一句,它可以正常工作。
最佳答案
表单的工作方式是它只在 onchange
时更新。这意味着如果您手动触发它,您的代码将起作用。
因为这看起来有点像解决方法,所以更简洁的解决方案是类似于 Newsletter2Go homepage 上的示例表单实现来实现它.
对应帮助文章can be found here (仅适用于德国 atm)。
顺便说一句,Newsletter2Go offers a recipient profile link自动用客户数据填写表格。也许您可以改用它。
关于javascript - Newsletter2Go - 表单在用 javascript 填充后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51502821/