Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Всплывающее окно после нажатия на кнопку в форме (https://javascript.ru/forum/jquery/54614-vsplyvayushhee-okno-posle-nazhatiya-na-knopku-v-forme.html)

kolhoz 24.03.2015 21:25

Всплывающее окно после нажатия на кнопку в форме
 
Подскажите пожалуйста, можно ли сделать всплывающее окно, после нажатия на кнопку в форме, которая на странице http://kursy05.ru/landing/obratnaya-svyaz.php? Если это возможно, то как реализовать?

Infinity178 25.03.2015 11:23

Смотря какое модальное окно вам требуется?

скажем вызываем окно 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(){
   // тут уже указываем: что вызывать, как вызывать, какие действие производить объектам
});

kolhoz 25.03.2015 15:26

Спасибо большое. Но не получилось. Пытаюсь модальное окно вывести таким способом:

Вот сам div
<div id="openModal" class="modalDialog">
	<div>
		уууу
	</div>
</div>


Вот сам js код, который поставил перед закрывающим тегом </body>
<script>
$("input[name='web_form_submit']").click(function(){
   $('#openModal').arcticmodal();
});
	</script>

kolhoz 25.03.2015 15:37

Вернее он отображает, только после этого сразу идет переход на другую страницу, которая указана в компоненте. Можно ли как-то сделать чтобы по нажатию всплывало модальное окно с кнопкой OK. И пока пользователь не нажмет "OK" чтобы не переходило?

kolhoz 25.03.2015 15:47

На странице есть ссылка "модальное окошко" по нажатию на нее это модальное окно нормально открывается.

kolhoz 25.03.2015 15:55

Получилось вывести arcticModal. А можно ли сделать запрет на переход страницы, пока не закрою модульное окно?

рони 25.03.2015 16:12

kolhoz,
4 строка return false
в ок $('form').submit()

kolhoz 25.03.2015 16:15

это где прописать? Не совсем понял. В самой форме или в js коде?

рони 25.03.2015 16:41

kolhoz,
<script>
$("input[name='web_form_submit']").click(function(){
   $('#openModal').arcticmodal();
  return false;
});
	</script>

kolhoz 25.03.2015 16:47

Сделал, но теперь письмо не отправляется. Просто всплывающее окно и все.

kolhoz 25.03.2015 16:53

Можно ли отловить нажатие на "Закрыть" в модальном окне и сделать переход?

рони 25.03.2015 17:12

Цитата:

Сообщение от kolhoz
Можно ли отловить нажатие на "Закрыть" в модальном окне и сделать переход?

смотрите пост 7

рони 25.03.2015 17:17

kolhoz,
:(
$(".arcticmodal-close").click(function(){
   $('form').submit();
});

laimas 25.03.2015 17:19

kolhoz, а зачем у вас дважды подключается jQuery?

kolhoz 25.03.2015 19:10

В шаблоне 1 раз. Второй видать битрикс сам подключает

kolhoz 25.03.2015 19:14

В итоге у меня получилось так:

<script>
$("input[name='web_form_submit']").click(function(){
   $('#exampleModal').arcticmodal();
   return false;
});

$(".arcticmodal-close").click(function(){
   $('form').submit();
});

</script>


Но после того как я нажимаю "Закрыть" в модальном окне, переход не осуществляется, и письмо не отправляется. А просто перезапускается страница

laimas 25.03.2015 19:28

>В шаблоне 1 раз. Второй видать битрикс сам подключает

Убирайте лишнее, и посмотрите что показывает отладчик.

А "всплывающее" вы хотите притулить, а ведь данные формы отправляются асинхронным запросом.

И отправьте пустую форму, забавное сообщение при этом получается.

kolhoz 25.03.2015 19:42

т.е. вы имеете ввиду что нельзя сделать всплывающее окно, а потом отправить данные формы?

laimas 25.03.2015 19:52

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

kolhoz 25.03.2015 20:38

Идея такая. Посетитель заполняет ту форму на странице и нажимает "Отправить", после чего ему выдается во всплывающем окне "Спасибо за регистрацию!" и соц. кнопки во всплывающем окне. Есть конечно вариант сделать еще одну страницу, при переходе на которую вызывается всплывающее окно. И просто по нажатию на "Отправить" перекидывать на эту страницу. Но хотел узнать можно ли это сделать сразу по нажатию, не перекидывая никуда.

Infinity178 25.03.2015 20:53

(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));

Infinity178 25.03.2015 21:00

+ УДАЛИТЕ одну из версий 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>

Infinity178 25.03.2015 21:06

В Bitrix см файл header.php там эта зараза вливает все файлы

laimas 25.03.2015 21:07

Infinity178, $('form[name="select_kurs"]').submit(); // отправляем данные с формы - а ничего, что у формы уже есть обработчик отправляющий форму?

Infinity178 25.03.2015 21:18

laimas, в исходнике он написал:
что по нажатию на "закрыть" дергает submit
я только поправил со стороны работы функции arcticmodal

Infinity178 25.03.2015 21:20

+ по хорошему лучше сделать на Ajax

kolhoz 25.03.2015 21:27

Сделал еще проще.. Создал страницу где всплывает окно. И просто после нажатия "Отправить" перенаправил на нее посетителя)) Но спасибо. за подсказки сейчас посмотрю вариант Infinity178.

kolhoz 25.03.2015 21:32

Работает ваш вариант тоже. Возьму себе на заметку

Infinity178 25.03.2015 21:32

kolhoz, Учитывайте комментарий laimas

kolhoz 26.03.2015 16:55

Хорошо


Часовой пояс GMT +3, время: 11:51.