【问题标题】:Newsletter2Go - Form does not work after filling it with javascript?Newsletter2Go - 用 javascript 填写表单后无法正常工作?
【发布时间】:2019-01-01 07:46:35
【问题描述】:

我尝试使用客户数据自动填写 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';
    }

表格正在填写,但如果我提交然后我会看到对不起,发生了错误。请检查您的数据。

此时请求有效负载:

为什么会失败?


如果浏览器自动填写表单,那么它可以正常工作。

【问题讨论】:

  • 您是否尝试过用双引号“data”而不是单引号“data”来处理数据?
  • 我试过了,没什么区别。

标签: javascript newsletter newsletter2go


【解决方案1】:

表单的工作方式是它只更新onchange。这意味着如果您手动触发它,您的代码将起作用。

由于这看起来有点像解决方法,因此更简洁的解决方案是实现它类似于在 Newsletter2Go homepage 上找到的示例表单实现。
对应的帮助文章can be found here(仅德语atm)。

顺便说一句,Newsletter2Go offers a recipient profile link 会自动用客户数据填写表格。也许您可以改用它。

【讨论】:

    猜你喜欢
    • 2016-03-11
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2017-01-07
    • 2020-05-07
    • 1970-01-01
    相关资源
    最近更新 更多