Заставить работать Webform во всплывающем окне

Я несколько раз сталкивался с проблемой, что Webform вообще никак не хочет обрабатываться, если он находится во всплывающем окне (lightbox или colorbox).

Решением данной проблемы оказалось следующее: во-первых, надо использовать дополнительный модуль colorbox_node

Во-вторых, надо использовать версию colorbox_node 7x-2.6 (желтым цветом), а не итоговый релиз 3.0 - потому что итоговый релиз с вебформами пока не научился нормально работать!

После этого просто создаете как всегда веб-форму, пишете в ней что в результате надо переводить на confirmation message, сообщение пишете типа "Ваша заявка принята", и на сайт куда-нибудь выводите ссылку вот в таком виде:

<a class="colorbox-node" href="/node/8?width=560&height=200">Заказать обратный звонок</a>

8 - это nid вашей вебформы.

Удачи!

Drupal 6, 7

Комментарии

Максим 18.11.2014 - 19:24

Здравствуйте, возникла такая проблема. После заполнения формы в колорбоксе перекидывает на страницу формы. Подскажите пожалуйста, как сделать так, чтобы форма просто сворачивалась и выводила сообщение об отправке формы?

Dex 23.09.2015 - 13:13

Добрый день!

Спасибо за статью, не подскажите, при клике по ссылке, на страницах отличных от страницы с формой, получаю в консоле ошибку - Uncaught TypeError: $(...).once is not a function и форма не подгружается. Но если форму делать доступной как блок, и выводить на каждой странице скрытой(что является дичайшим костылем), то линк окрывается без ошибок.

Nikita Petrov 23.09.2015 - 16:14

Насколько я помню функция .once была добавлена в какой-то версии jQuery, вполне возможно, что у вас просто старая версия jQuery. Поставьте drupal модуль jQuery Update, возможно поможет.

Добавить комментарий