Wordpress: При выборе кнопки jQuery предварительный выбор в меню Контактной формы 7 - PullRequest
0 голосов
/ 18 февраля 2020

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

Вот некоторые части страницы одного сообщения, где находится кнопка для перехода на go к странице формы:

<button class="btn">
 <span>Contact</span>
</button>

На этой странице много информации, где также упомянутый адрес электронной почты для этой конкретной c позиции на этой странице:

<p class="email">Email: <a href="mailto:<?php the_field('contact_email'); ?>">
 <?php the_field('contact_email'); ?>
</a></p>

Вот мой код контактной формы 7:

<div class="contact-form">
<div class="form-group">
  [text* your-name class:form-control placeholder "Name"] 
</div>
<div class="form-group">
  [text* your-name class:form-control placeholder "Company"] 
</div>
<div class="form-group">
  [email* your-email class:form-control placeholder "Email"] 
</div>
<div class="form-group">
  [select* menu-105 class:form-control "Office 1|email1@example.com" "Office 2|email2@example.com" "Office 3|email3@example.com" "Office 4|email4@example.com"]
</div>
<div class="form-group">
  [text your-subject class:form-control placeholder "Subject"] 
</div>
<div class="form-group">
  [textarea your-message x3 class:form-control placeholder "Message"] 
</div>
<div class="form-group form-check">
 [acceptance acceptance-955 optional] By ticking this box you agree to this information here in <a href="https://www.google.com" target="_blank">privacy policy</a>.[/acceptance]
</div>
<div class="btn-container-right">
<div class="btn-wrapper">
  [submit "Send" class:btn-sm]
</div>
</div>
</div>

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

1 Ответ

1 голос
/ 20 февраля 2020

Хорошо ... Итак, сначала вы хотите передать параметр URL в форму контакта с помощью кнопки.

Итак, ваша обновленная ссылка (где вы кодируете пространство как% 20)

yourdomain.com/contact-form/?email=office%201

Затем добавьте этот скрипт в свою тему. js файлы или где угодно.

jQuery(document).ready(function($){
    $.urlParam = function (name) {
        var results = new RegExp('[\?&]' + name + '=([^&#]*)')
                          .exec(window.location.search);

        return (results !== null) ? results[1] || 0 : false;
    }
    // Since above function returns false if blank, check if email $_GET param is entered
    if ( false !== $.urlParam('email')){
        $('select[name="your-email"]').val(decodeURIComponent($.urlParam('email')))
            .change(); // set select name to the name of your form field in CF7
    }
});

decodeURIComponent только в том случае, если вы используя параметр закодированного URL-адреса ... Это потому, что у вас есть пробел в ваших настройках "Office 1", "Office 2"

установите [name =] в имя вашего поля CF7.

...