Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2009, 11:18
Интересующийся
Отправить личное сообщение для Бушка Посмотреть профиль Найти все сообщения от Бушка
 
Регистрация: 17.06.2008
Сообщений: 17

Переход между окнами ввода при заполнении.
Здравствуйте! Сразу скажу - поиск не использовал, т.к. не могу придумать слова, которыми это можно было найти =)

И так: есть четыре поля ввода (<INPUT>), два из которых MAXLENGTH=3, другие два - MAXLENGTH=2.
Они используются для ввода номера.
Хочется, чтобы при достижении в поле ввода определенного кол-ва символов, курсор перескакивал на соседнее. Я даже не знаю с чего начать.
После еще хочется чтобы, при нажатии на backspace, находясь в пустом инпуте, курсор бы попал на предыдущий.


Как я понимаю, необходимо событие которое смотрит после ввода сколько свободных в активном инпуте, это не сложно.
А вот перескочить курсором - тут я в затруднении.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2009, 11:38
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Бушка
А вот перескочить курсором - тут я в затруднении.
field.focus();
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2009, 13:40
Интересующийся
Отправить личное сообщение для Бушка Посмотреть профиль Найти все сообщения от Бушка
 
Регистрация: 17.06.2008
Сообщений: 17

Спасибо.
Почти все уже.
Еще два вопроса: как в <INPUT> выделить весь текст, и как узнать какую именно кнопку нажали (интересует backspace).

Да, и как без jquery узнать MAXLENGTH у инпута...
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2009, 14:01
Интересующийся
Отправить личное сообщение для Бушка Посмотреть профиль Найти все сообщения от Бушка
 
Регистрация: 17.06.2008
Сообщений: 17

Все нашел... не актуально )
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2009, 15:40
Интересующийся
Отправить личное сообщение для Бушка Посмотреть профиль Найти все сообщения от Бушка
 
Регистрация: 17.06.2008
Сообщений: 17

Мои скромные познания в JS вылелись в вот это вот
Напомню - вводим тольцко цифры.
function autofocus(next,prev, e){
	evt = (e)? e: event;
	var elem = (evt.target) ? evt.target : evt.srcElement;
	var key = evt.keyCode;
	var limit = elem.maxLength;
	

	if(((key>=48) && (key<=57)) || ((key>=96) && (key<=105)) || (key==8) || (key>=37 && key<=40))
	{
		if(key==8 && prev)
		{
			if(elem.value.length==0)
			{
				elem.form.elements[prev].focus();
				elem.form.elements[prev].select();				
			}
		}
		if (((key>=48) && (key<=57)) || ((key>=96) && (key<=105)) && (elem.value.length==limit) && next)
		{
			elem.form.elements[next].focus();
			elem.form.elements[next].select();
		}
		
	}
	else
	{
		elem.value=parseInt(elem.value);
		if(isNaN(elem.value))
		{
			elem.value="";
		}
	}
}
Вот еще бы при возвращении коретку помещать в конец инпута, вместо выделения всего текста.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск