Переход между окнами ввода при заполнении.
Здравствуйте! Сразу скажу - поиск не использовал, т.к. не могу придумать слова, которыми это можно было найти =)
И так: есть четыре поля ввода (<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, время: 02:06. |