Переход между окнами ввода при заполнении.
Здравствуйте! Сразу скажу - поиск не использовал, т.к. не могу придумать слова, которыми это можно было найти =)
И так: есть четыре поля ввода (<INPUT>), два из которых MAXLENGTH=3, другие два - MAXLENGTH=2. Они используются для ввода номера. Хочется, чтобы при достижении в поле ввода определенного кол-ва символов, курсор перескакивал на соседнее. Я даже не знаю с чего начать. После еще хочется чтобы, при нажатии на backspace, находясь в пустом инпуте, курсор бы попал на предыдущий. Как я понимаю, необходимо событие которое смотрит после ввода сколько свободных в активном инпуте, это не сложно. А вот перескочить курсором - тут я в затруднении. Спасибо. |
Цитата:
field.focus(); |
Спасибо.
Почти все уже. Еще два вопроса: как в <INPUT> выделить весь текст, и как узнать какую именно кнопку нажали (интересует backspace). Да, и как без jquery узнать MAXLENGTH у инпута... |
Все нашел... не актуально )
|
Мои скромные познания в 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="";
}
}
}
Вот еще бы при возвращении коретку помещать в конец инпута, вместо выделения всего текста. |
| Часовой пояс GMT +3, время: 01:34. |