【问题标题】:How to submit a form without putting an onload event in the body tag如何在不将 onload 事件放在 body 标签中的情况下提交表单
【发布时间】:2019-03-30 14:23:24
【问题描述】:

我有几个表单同步到 Salesforce,当前使用 Avada 主题在 WordPress 网站上运行,但客户希望添加一个新字段,这需要在正文标签中添加一个 onload 事件。我认为最简单的方法是通过仪表板>主题选项>高级>代码字段,但我没有看到将事件添加到正文标签的选项。在不编辑核心模板文件(表单仅在几页上)的情况下,最好的方法是什么?

当前代码片段:

<form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST"><input type=hidden name="oid" value="00DU0000000H99p">
    <input type=hidden name="retURL" value="https://www.sablesys.com/thank-you/">
    <input type="hidden" name="member_status" value="Sent"/>
    <!-- Campaign id for Quote Campaign -->
    <input type="hidden" name="Campaign_ID" value="7010B000001Eiz3QAC" />
    <input type="hidden" id="lead_source" name="lead_source" value="Website">  
                <label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" required/><br>
        <label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20" type="text" required/><br>
        <label for="company">Company</label><input id="company" maxlength="40" name="company" size="20" type="text" required/><br>
        <label for="email">Email</label><input id="email" maxlength="80" name="email" size="20" type="text" required/><br>
        <label for="city">City</label><input id="city" maxlength="40" name="city" size="20" type="text" required/><br>

        Notes:<br><textarea id="00NU0000003mN8A" name="00NU0000003mN8A" rows="25" type="text" wrap="soft" style="width: 100%"></textarea><br>
        <input type="submit" name="submit">
</form>

客户要求添加的新代码:

表单的新字段:


<input type="hidden" id="URL" name="URL" value="" >

一个新的 onload 事件:

<body onload="document.getElementById('URL').value = document.location.href">

有没有办法在脚本中执行 window.onload ?我承认我不太了解javascript。请在您的回复中进行描述。谢谢。

【问题讨论】:

  • 有在您的应用程序中使用 Jquery 的计划吗?
  • @AshokanSivapragasam 没有。目前没有 jquery。

标签: javascript onload


【解决方案1】:

这行代码是javascript。

document.getElementById('URL').value = document.location.href;

你只需要一种方法来执行它。

如果您的页面上正在执行任何其他 javascript 代码,请将其作为其中的一部分。 您可以向表单添加“onsubmit”事件,如下所示:

<form onsubmit="FillInURL()">
<input id="URL" type=hidden>
</form>

function FillInURL() {document.getElementById('URL').value = document.location.href;}

【讨论】:

  • 是的,我知道那行代码是 javascript。我只是不知道把它放在哪里。我喜欢您的解决方案,在表单本身中创建一个 onsubmit 事件。如果页面上没有其他脚本,我应该将最后一行代码放在哪里? function FillInURL() {document.getElementById('URL').value = document.location.href;}
  • 你可以在任何你喜欢的地方添加 。可能在表单本身之前是最好的——也许在任何 HTML 之前。这只是你想如何组织代码的问题。
猜你喜欢
  • 2011-09-13
  • 2013-12-11
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多