Контактная форма 7: как настроить таргетинг только на одну кнопку отправки - PullRequest
1 голос
/ 12 марта 2019

У меня есть форма контакта 7, которая после отправки должна перенаправить пользователя на соответствующую страницу. У меня есть три кнопки отправки, и каждая из них должна перенаправлять на разные страницы. Я не могу понять, как настроить различные перенаправления для кнопок отправки. Кто-нибудь может помочь с этим?

Вот моя форма:

 <div class="popup-form" style="text-align:center; margin-bottom:0.5rem;">To be able to see the packages, please fill in the below form.</div>

<div class="popup-form">
<label> Name: <span class="required">*</span>
    [text* your-name class:with-border]</label></div>

<div class="popup-form">
<label> Email: <span class="required">*</span>
    [email* your-email class:with-border] </label></div>

<div class="popup-form">
<label> Company: <span class="required">*</span>
    [text* Company class:with-border] </label></div>

<div class="popup-form">
<label> Phone: <span class="required">*</span>
    [tel* Phone class:with-border] </label></div>

[acceptance GDPR class:popup-form] I understand and accept the privacy policy [/acceptance]
<p class="submit-button popup-form"><span class="english">[submit class:english-submit "English"]</span> [submit "Italian"][submit "Spanish"]</p>

И это код перенаправления в моем header.php. На данный момент он перенаправляет независимо от того, какую кнопку отправки я нажимаю.

document.addEventListener( 'wpcf7submit', function( event ) {

        if ( '352' == event.detail.contactFormId ) 
        {
            location = 'http://example1.com';
        }
    }, false );

Спасибо!

Ответы [ 3 ]

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

Вы не можете.wpcf7submit событие - это событие, которое вызывается при отправке формы.Это может быть вызвано как нажатием кнопки, так и нажатием клавиши ввода.

Таким образом, это событие не связано напрямую с какой-либо кнопкой, поэтому вы не можете получить доступ к этой кнопке.

Один из способов решить эту проблему - добавить пользовательские обработчики событий для нажатий кнопок и задать их настройку.значение какого-то скрытого ввода внутри формы.Таким образом, это значение будет отправлено с данными формы.

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

Большое спасибо за вашу помощь, ребята. К сожалению, ничего из вышеперечисленного не помогло мне. Однако мне удалось найти способ заставить его работать, я добавил это в header.php:

<script>
window.onload=function(){
    var englishSubmit = document.getElementsByClassName("english-submit");
    englishSubmit[0].addEventListener("click", function()
        { 
            window.location.href = "/packages-en/";
        });
    var italianSubmit = document.getElementsByClassName("italian-submit");
    italianSubmit[0].addEventListener("click", function()
        { 
            window.location.href = "/packages-it/";
        });
    var spanishSubmit = document.getElementsByClassName("spanish-submit ");
    spanishSubmit[0].addEventListener("click", function()
        { 
            window.location.href = "/packages-sp/";
        });
}
</script>
0 голосов
/ 12 марта 2019

Как насчет того, чтобы попытаться дать разные названия классов вашим начальным ярлыкам?Это позволит вам манипулировать кнопками, используя их идентификатор или имя класса.В настоящее время вы используете одно и то же имя класса для всех ваших ярлыков.

...