Всплывающее окно после нажатия на кнопку в форме
Подскажите пожалуйста, можно ли сделать всплывающее окно, после нажатия на кнопку в форме, которая на странице http://kursy05.ru/landing/obratnaya-svyaz.php? Если это возможно, то как реализовать?
|
Смотря какое модальное окно вам требуется?
скажем вызываем окно FancyBox
$("input[name='web_form_submit']").fancybox();
вызываем окно arcticModal
$("input[name='web_form_submit']").click(function(){
$('#example_box').arcticmodal();
});
просто открываем какой то DIV
$("input[name='web_form_submit']").click(function(){
$('#my_div').show();
});
Можно что и как угодно вызывать, принцип прост:
$("#element_button").click(function(){
// тут уже указываем: что вызывать, как вызывать, какие действие производить объектам
});
|
Спасибо большое. Но не получилось. Пытаюсь модальное окно вывести таким способом:
Вот сам div <div id="openModal" class="modalDialog"> <div> уууу </div> </div> Вот сам js код, который поставил перед закрывающим тегом </body>
<script>
$("input[name='web_form_submit']").click(function(){
$('#openModal').arcticmodal();
});
</script>
|
Вернее он отображает, только после этого сразу идет переход на другую страницу, которая указана в компоненте. Можно ли как-то сделать чтобы по нажатию всплывало модальное окно с кнопкой OK. И пока пользователь не нажмет "OK" чтобы не переходило?
|
На странице есть ссылка "модальное окошко" по нажатию на нее это модальное окно нормально открывается.
|
Получилось вывести arcticModal. А можно ли сделать запрет на переход страницы, пока не закрою модульное окно?
|
kolhoz,
4 строка return false в ок $('form').submit() |
это где прописать? Не совсем понял. В самой форме или в js коде?
|
kolhoz,
<script>
$("input[name='web_form_submit']").click(function(){
$('#openModal').arcticmodal();
return false;
});
</script>
|
Сделал, но теперь письмо не отправляется. Просто всплывающее окно и все.
|
Можно ли отловить нажатие на "Закрыть" в модальном окне и сделать переход?
|
Цитата:
|
kolhoz,
:(
$(".arcticmodal-close").click(function(){
$('form').submit();
});
|
kolhoz, а зачем у вас дважды подключается jQuery?
|
В шаблоне 1 раз. Второй видать битрикс сам подключает
|
В итоге у меня получилось так:
<script>
$("input[name='web_form_submit']").click(function(){
$('#exampleModal').arcticmodal();
return false;
});
$(".arcticmodal-close").click(function(){
$('form').submit();
});
</script>
Но после того как я нажимаю "Закрыть" в модальном окне, переход не осуществляется, и письмо не отправляется. А просто перезапускается страница |
>В шаблоне 1 раз. Второй видать битрикс сам подключает
Убирайте лишнее, и посмотрите что показывает отладчик. А "всплывающее" вы хотите притулить, а ведь данные формы отправляются асинхронным запросом. И отправьте пустую форму, забавное сообщение при этом получается. |
т.е. вы имеете ввиду что нельзя сделать всплывающее окно, а потом отправить данные формы?
|
Почему, сделать можно многое, но что и для чего, и как вы думали? Оно для красоты или же у него есть предназначение? А если есть, значит оно должно какой либо из операций привязано, либо до отправки формы, либо по ее результату, а значит нужно исходный имеющийся сценарий менять.
|
Идея такая. Посетитель заполняет ту форму на странице и нажимает "Отправить", после чего ему выдается во всплывающем окне "Спасибо за регистрацию!" и соц. кнопки во всплывающем окне. Есть конечно вариант сделать еще одну страницу, при переходе на которую вызывается всплывающее окно. И просто по нажатию на "Отправить" перекидывать на эту страницу. Но хотел узнать можно ли это сделать сразу по нажатию, не перекидывая никуда.
|
(function($){ // запускаем jQuery функцию
$(function(){
$("input[name='web_form_submit']").click(function(){ // при клике на "кнопку"...
$('#exampleModal').arcticmodal({ // запускаем модальное окно ArcticModal
afterClose: function(data, el) { // после закрытия окна ArcticModal
$('form[name="select_kurs"]').submit(); // отправляем данные с формы
}
});
return false; // при клике результат FALSE (лож) TRUE (истина)
});
});
}(jQuery));
|
+ УДАЛИТЕ одну из версий jQuery
строка 40 (если использовать эту версию рекомендуется поставить jQuery Migrate v1.2.1) <script src="//intechsoft.ru.js.1c-bitrix-cdn.ru/bitrix/templates/landtmpl_copy/js/jquery-2.1.3.min.js?142661334284320"></script> строка 18, если эту версию юзать - удалите выше указанный файл <script type="text/javascript" src="//intechsoft.ru.js.1c-bitrix-cdn.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?142562958593636"></script> |
В Bitrix см файл header.php там эта зараза вливает все файлы
|
Infinity178, $('form[name="select_kurs"]').submit(); // отправляем данные с формы - а ничего, что у формы уже есть обработчик отправляющий форму?
|
laimas, в исходнике он написал:
что по нажатию на "закрыть" дергает submit я только поправил со стороны работы функции arcticmodal |
+ по хорошему лучше сделать на Ajax
|
Сделал еще проще.. Создал страницу где всплывает окно. И просто после нажатия "Отправить" перенаправил на нее посетителя)) Но спасибо. за подсказки сейчас посмотрю вариант Infinity178.
|
Работает ваш вариант тоже. Возьму себе на заметку
|
kolhoz, Учитывайте комментарий laimas
|
Хорошо
|
| Часовой пояс GMT +3, время: 22:15. |