2013-07-29 2 views
1

Я попытался с помощью on_sent_ok перенаправить после отправки формы для Contact Form 7 (Wordpress плагин), но он не работает по какой-то причине:Форма контакта 7 перенаправление с on_sent_ok не работает?

on_sent_ok: "location.replace('http://www.company.com/thank-you/');" 

Почему бы не эта работа?

Я использую CF7 версии 2.2.1 и Wordpress 3.5.0.

ответ

1

не on_sent_ok работает в Contact Form 7 обычно указывает на конфликт с Javascript либо текущей темы WordPress или один из других модулей, которые вы используете - см. Contact Form 7 Email Issues - там есть ссылка, которая покрывает Конфликты Javascript.

Помните, что проблема в одном скрипте может вызвать проблемы в другом. Например, некоторые ошибки jQuery могут остановить обработку jQuery больше скрипта, что может затруднить поиск виновника.

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

Используйте Firebug или Chrome Dev Tools, чтобы подробно изучить Javascript-конфликты.

См. http://wiki.simple-press.com/installation/troubleshooting/plugin-conflicts/ для общего руководства.

+0

Спасибо. Как определить конфликт с плагином или темой? Как я могу узнать, является ли это конфликтом? – Danijel

+0

Работает после обновления контактной формы от версии 2.1 до 3.7 (и Wordpress обновляется до 3.8.1). – Danijel

3

Попробуйте это ...

on_sent_ok: "location = 'http://example.com/';" 

в дополнительных настройках

+0

Спасибо. Это тоже не работает. – Danijel

+0

Такая же проблема: похоже, что Contact Form 7 ставит эти невидимые символы после URL: «% E2% 80% 8E», а затем сообщает мне, что URL-адрес не существует. – Kokodoko

1

Я пробовал оба решения: on_sent_ok не работал, и добавление redirect javascript тоже не выполняло работу. В конце концов, я обнаружил, что редактирую файл «submissions.php» в папке «modules» в форме «contact-form-7». Я ищу $this->response = $contact_form->message('mail_sent_ok'); и просто положил header("Location: www.somesite.com/"); Работы очень хорошо.

+0

Спасибо за это! У меня есть клиент с 21 JS-ошибкой в ​​теме, которая не позволит мне обновлять указанную тему, и это было единственным решением, которое получило перенаправление на работу :) –

+0

@KerynGill - Прошло некоторое время с тех пор, как я опубликовал это. Я рад, что это помогло. Спасибо за поддержку! –

2

Была такая же проблема с моей собственной темой Wordpress. Через час я понял, что забыл добавить <?php wp_footer(); ?> в footer.php, поэтому важно, чтобы 7 контактов не загружались. Когда я добавляю, что все работает.

0

Я столкнулся с той же проблемой в контактной форме 7 последней версии 4.8.1.

окончательно решил проблему используя пользовательский код jquery.

if ($('.wpcf7-form.sent').length) { 
     $(location).attr('href', 'http://www.example.com') 
    } 

Примечание: Контактная форма 7 форма успешно отправляет добавление класса «отправлено» в поле формы.

0

Контактный формуляр 7 Перенаправление на другой URL После Материалы

Прежде всего, необходимо обновить контактную форму 7 на новой версии я попробовать его на v7.4.9, а затем поместить контактную форму короткий код любой страницы и поместить этот JS скрипт в любом месте на странице и изменения URL, где нужно перенаправить страницу после подачи

<script> 
document.addEventListener('wpcf7mailsent', function(event) { 
location = 'http://example.com/'; 
}, false); 
</script> 

Для получения дополнительной информации нажмите контактную форму 7 Официальный сайт https://contactform7.com/redirecting-to-another-url-after-submissions/

1

Контактный формуляр 7 Thank You Page перенаправления OLD METHOD: on_sent_ok hook больше не рекомендуется. У меня есть код, который вы можете скопировать и вставить. Вы можете добавить этот метод в свой файл functions.php, чтобы добавить этот код:

<pre> 
<code> 
add_action('wp_footer', 'mycustom_wp_footer'); 

function mycustom_wp_footer() { 
?> 
<script type="text/javascript"> 
document.addEventListener('wpcf7mailsent', function(event) { 
    if ('97' == event.detail.contactFormId) { 
    location = 'http://www.vizistata.com/affordable-logo-designs.php'; 
    } 
    else if ('634' == event.detail.contactFormId) { // 634 is the form id 
     location = 'http://www.vizistata.com/#blog'; 
    } 

    else if ('635' == event.detail.contactFormId) { // 635 is the form id 
     location = 'http://www.vizistata.com/#contact'; 
    } 

    else if ('636' == event.detail.contactFormId) { 
     location = 'http://www.vizistata.com/#services'; 
    } 

    else if ('94' == event.detail.contactFormId) { 
     location = 'http://www.vizistata.com/#about'; 
    } 


    else { // Sends submissions on all unaccounted for forms to the third thank you page 
     location = 'http://www.vizistata.com/'; 
    } 
}, false); 
</script> 
<?php 
}</pre> 
</code> 
Смежные вопросы