Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   как работать с maskre (https://javascript.ru/forum/extjs/40799-kak-rabotat-s-maskre.html)

demi 20.08.2013 18:35

как работать с maskre
 
не совсем понял как работает маскре
то есть это помогает вводить данные только в определенной форме
но у меня не получается сделать чтобы вводить время
в формате чч:мм
или определенное кол цифр

как это работает
как сделать чтобы вводишь дату ввел 2 цифры и потом можно было только
: вводить

VitalikSanich 20.08.2013 19:22

Вариант проверки на событиях keydown, keypress, keyup с запретом на ввод или автовставкой нужных символов в нужные позиции

siber-biber 21.08.2013 06:14

maskRe позволяет задать разрешенные символы для поля.
Есть еще конфиг regex:

var f = new Ext.form.field.Text({
    maskRe : /[0-9:]/,
    regex : /^\d{2}:\d{2}$/,
    regexText : 'Please enter time in HH:MM format',
    renderTo: Ext.getBody()
})

demi 21.08.2013 17:32

Цитата:

Сообщение от VitalikSanich (Сообщение 268390)
Вариант проверки на событиях keydown, keypress, keyup с запретом на ввод или автовставкой нужных символов в нужные позиции

а этих события вроде не работают
их как то можно включить

demi 21.08.2013 17:35

Цитата:

Сообщение от siber-biber (Сообщение 268512)
maskRe позволяет задать разрешенные символы для поля.
Есть еще конфиг regex:

var f = new Ext.form.field.Text({
    maskRe : /[0-9:]/,
    regex : /^\d{2}:\d{2}$/,
    regexText : 'Please enter time in HH:MM format',
    renderTo: Ext.getBody()
})

да спасибо это уже лучше
но хочу все таки добится чтобы при нажатии клавиш
цифры автоматом поставлялись в формат

нужно только как то вызвать события keyup

siber-biber 21.08.2013 20:38

var f = new Ext.form.field.Text({
	renderTo: Ext.getBody(),
	enableKeyEvents: true,
	listeners: {
		keypress : function (f, e) {
			var c = e.getCharCode();
			alert(c);
		}
	}
});

demi 22.08.2013 17:44

Цитата:

Сообщение от siber-biber (Сообщение 268660)
var f = new Ext.form.field.Text({
	renderTo: Ext.getBody(),
	enableKeyEvents: true,
	listeners: {
		keypress : function (f, e) {
			var c = e.getCharCode();
			alert(c);
		}
	}
});

спасибо это то что надо

demi 26.08.2013 19:32

А как определить при keypress расположение каретки/курсора


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