代码之家  ›  专栏  ›  技术社区  ›  Black

新闻稿2go-用javascript填充后表单不工作?

  •  2
  • Black  · 技术社区  · 6 年前

    我试着用客户数据自动填写新闻稿2go表格表单是用一个javascript代码动态创建的,这个代码是我从新闻稿2go后端获得的。

    但我发现,如果我使用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';
        }
    

    表格已经填好了,但如果我提交了,我就会看到 对不起,发生了一个错误。请检查您的数据。

    此时请求有效载荷: enter image description here

    为什么会失败?


    如果浏览器自动填充表单,那么它就可以工作了。

    1 回复  |  直到 6 年前
        1
  •  6
  •   Horen    6 年前

    表单的工作方式是只更新它 onchange . 这意味着如果你手动触发它,你的代码就会工作。

    因为这看起来有点像一个解决方法,一个更干净的解决方案是实现它,类似于在 Newsletter2Go homepage .
    相应的帮助文章 can be found here (仅在德国atm机上提供)。

    顺便说一下,新闻稿2go offers a recipient profile link 自动用客户数据填充表单的也许你可以用它代替。

    推荐文章