Как отправить форму без добавления события onload в тег body - PullRequest
0 голосов
/ 30 марта 2019

У меня есть несколько форм, синхронизированных с Salesforce, в настоящее время запущенных на веб-сайте WordPress с использованием темы Avada, но клиент хочет добавить новое поле, которое потребует добавления события onload в теге body. Я подумал, что самый простой способ сделать это - пройти через панель инструментов> Параметры темы> Дополнительно> Поля кода, но я не вижу опции для добавления события в тег body. Каков наилучший способ сделать это без редактирования файлов основных шаблонов (формы находятся только на нескольких страницах)?

Фрагмент текущего кода:

<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="" >

Новое событие загрузки:

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

Есть ли способ сделать загрузку окна внутри скрипта вместо этого? Я признаю, что не очень хорошо знаю javascript. Пожалуйста, будьте содержательными в своих ответах. Спасибо.

1 Ответ

0 голосов
/ 30 марта 2019

Эта строка кода - это 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;}
...