Как вывести форму обратной связи в диалоговом окне вебасиста?
У вебасиста встроенный метод построения диалогов здесь. Хочется чтобы при нажатии на кнопку вылазило окно с формой обратной связи который есть в блоке сайта.
Как реализовать этот момент? кто нибудь сможет помочь? ведь тут и php и smarty в кучу)
6 ответов
Php и smarty в указанном коде нет. Всего лишь JS/css/html.
Технически вы можете всю форму обратной связи добавить в скрытый <div/> и его показывать при каком-то действии, а после отправки закрывать. В некоторых темах так и реализовано.
Да не PHP а JS и smarty
вот JS $(el).waDialog(options);
а smarty есть в форме обратного звонка {$wa->block('site.send_email_form')}.
Понимаю можно и так сделать, но лучше пользоваться всем встроенным чем вносить новое.
HTML (кнопка и диалог)
<a href="#feedback" class="feedback">Заказать обратный звонок</a>
<div id="feedback-dialog" class="dialog">
<div id="feedback-dialog" class="dialog">
<div class="dialog-background cancel"></div>
<div class="dialog-window">
<div class="dialog-body">
<div class="dialog-buttons"><i class="fa fa-times dialog-close cancel"></i></div>
{$wa->block("site.send_email_form")}
</div>
</div>
</div>
JS
//feedbackdialog
$('.feedback').click(function() {
$("#feedback-dialog").waDialog();
});
$('#feedback-dialog .dialog-background.cancel').click(function() {
$('#feedback-dialog .dialog-close').click();
});
PS Для кнопки закрытия используется иконка font-awesome http://fontawesome.io/icons/
Благодарю, так заработало. Но есть проблемы: 1. при нажатии на кнопку отправить, диалогое окно закрывается, нужно еще раз вызвать чтобы увидеть ошибка там или отправилось.
2. по клику на фон не закрывает(
1) Форма использует POST для отправки данных, а не AJAX
2)
Подскажите, пожалуйста, что куда совать? )) Не получается. js куда только не вставлял.
Блок html на страницу, а js куда вставить? Спасибо.