AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2009, 10:24   #1  
Dekan is offline
Dekan
Участник
Аватар для Dekan
 
171 / 11 (1) +
Регистрация: 11.05.2009
Адрес: Оренбург
Маска ввода
Добрый день.
Никак не могу настроить маску ввода для IP, формат 255.255.255.255

Делаю так:
Код:
// Маска ввода IP
function OnCrmPageLoad() {
	// первым параметром задается имя поля, а вторым маска
	Mask( "new_ipnaznacheniya" , "###.###.###.###" );
}

function Mask( fieldId , mask ) {
	field = document.getElementById(fieldId);
	field.mask = mask.split("");
	field.regex = new RegExp(escapeRegEx(mask.replace(/#/gi,"").split("")),"gi");
	field.title += " " + mask;
	field.attachEvent( "onchange" , MaskOnFieldChange );
}

function escapeRegEx( chars ) {
	// если один из этих символов встретится при вводе не на своем месте (определенном в маске), то будет удален!
	var regChars = "+_)(*^$[]-?{}";
	var regExprs = "";
	var run2Index = chars.length - 1;

	for( var i = 0 ; i < run2Index ; i++ ) Concat( chars[i] , "|" );

	Concat(chars[run2Index]); 

	function Concat( c , d ) {
		regExprs += (( regChars.indexOf(c) != -1 )? "\\":"" ) + c + d;
	}

	return regExprs;
}

function MaskOnFieldChange() {
	var field = event.srcElement;
	if( field.DataValue == null ) return; 

    var arrDataValue = field.DataValue.replace(field.regex,"").split("");
    var arrResult = [];

	for(var i=0 , j=0 ; i < field.mask.length ;i++)
		arrResult[i] = (field.mask[i] != "#")?field.mask[i]:arrDataValue[j++];

	field.DataValue = arrResult.join("");
}

OnCrmPageLoad();
В итоге при занесении значения в поле - остаются только точки .... а цифры стираются.
Подскажите, что не так?
Старый 21.10.2009, 11:17   #2  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
в эту строчку var regChars = "+_)(*^$[]-?{}";
добавьте символ "." (точка)
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
За это сообщение автора поблагодарили: Dekan (1).
Старый 21.10.2009, 11:40   #3  
Dekan is offline
Dekan
Участник
Аватар для Dekan
 
171 / 11 (1) +
Регистрация: 11.05.2009
Адрес: Оренбург
Спасибо,
Теги
маска ввода

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сделать подтверждение ввода Dekan Dynamics CRM: Разработка 11 13.05.2009 17:18

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:45.