首页 > 解决方案 > 如何在不将 onload 事件放在 body 标签中的情况下提交表单

问题描述

我有几个表单同步到 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。请在您的回复中进行描述。谢谢。

标签: javascriptonload

解决方案


这行代码是 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;}

推荐阅读