Как долго я искал решение простой задачи: Как вывести сообщение благодарности в окне fancybox 3? Вывести сайму форму во всплывающем окне не сложно. Лично я делал так:
Но как оказалось, форма отправляется, а окно закрывается. А нужно, чтобы вместо формы после отправки отображалось сообщение благодарности.
Итак решение нашлось в использовании iframe:
- Создаем форму RSForm (как это делать - гуглите). Запоминаем её ID.
- В свойствах формы добавьте CSS для вашей формы
- Также в свойствах формы, в "информации о форме" включите "Использовать AJAX проверку" и "Показывать сообщение благодарности". Так же задайте текст сообщения благодарности.
- В редакторе материала создаем ссылку следующего вида
<a class="fancybox-iframe" data-src="/index.php?option=com_rsform&formId=3&tmpl=component" href="javascript:;">Ссылка на форму</a>
Обратите внимание - в ссылке в части formId=3 вместо 3 укажите ID своей формы.
- Заметьте, что ссылке присвоен класс "fancybox-iframe". Для него важно инициализировать fancybox. В вашем шаблоне вставьте в файле JS следующий скрипт:
jQuery(document).ready(function() { jQuery('.fancybox-iframe').fancybox({ smallBtn : true, closeBtn : false, fullScreen : false, type: 'ajax', width: 320 }); });
- Вот и всё. Если я пропустил какой-то пункт, собщите мне, я дополню ваш комментарий.