Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   jquery маска в модальном окне ajax (https://javascript.ru/forum/dom-window/48213-jquery-maska-v-modalnom-okne-ajax.html)

psfdek 25.06.2014 00:25

jquery маска в модальном окне ajax
 
Использую jquery маску для инпутов, файл маски подключен в родительской пхп файле например control.php с помощью require (Рис 1) где так же находится ссылка для вывода модального окна.
И так же подключен код вывода модального окна.


Рис 1 - файл control.php

Все инпуты которые обрабатываются в модальном окне находятся в отдельном файле который запрашивается в него с помощью ajax.
При открытии control.php и первом нажатии на кнопку "Добавить работника" все работает нормально. (Рис 2)


Рис 2 - Модальное окно открытое по ссылке в 1 раз

Но при открытии во 2 раз, без перезагрузки страницы уже не работает (Рис 3)


Рис 3 - Модальное окно открытое по ссылке в 2 раз

Что может быть не так?

krasovsky 25.06.2014 08:30

Навешивай свою маску в момент открытия модального окна

psfdek 25.06.2014 14:10

как?

krasovsky 25.06.2014 14:50

Цитата:

Сообщение от psfdek (Сообщение 317956)
как?

Что значит как? Так же как сейчас, но не сразу а когда диалог открываешь. Я ж не знаю какой там у тебя диалог,или плагин это или что, как открывается. Тебе лучше знать.

psfdek 25.06.2014 16:15

http://learn.javascript.ru/play/TFjcoc
я не могу починить это :(
Вот в песочнице так же не пашет.
Точнее в первый раз нажмете на "Добавить работника" - всё работает (маска в инпуте есть), а если нажать закрыть модальное окно и снова кнопку "Добавить работника" то уже не пашет. Хз как так вообще.

Brutus 25.06.2014 16:33

http://learn.javascript.ru/play/6qJ39

psfdek 25.06.2014 16:49

Что Вы поменяли? :)

Brutus 25.06.2014 16:51

jQuery(function($) {
      $.mask.definitions['~']='[+-]';
      $('#date').mask('99/99/9999');
      $('#phone').mask('(999) 999-9999');
      $('#phoneext').mask("(999) 999-9999? x99999");
      $("#tin").mask("99-9999999");
      $("#ssn").mask("999-99-9999");
      $("#product").mask("a*-999-a999");
      $("#eyescript").mask("~9.99 ~9.99 999");
   });

это перенес в
function displayMessage(url,cssClass)
	{
		messageObj.setSource(url);
		messageObj.setCssClassMessageBox(cssClass);
		messageObj.setSize(300,300); // размеры окна. Если эту строку удалить, будут поставлены занчения по умолчанию - 400х200
		messageObj.setShadowDivVisible(true);	//Включить(true)/Выключить (false) тень
		messageObj.display();
	}


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