Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Подскажите по заполнению формы. (https://javascript.ru/forum/dom-window/50652-podskazhite-po-zapolneniyu-formy.html)

berto 06.10.2014 11:56

Подскажите по заполнению формы.
 
Добрый день! Возможно и как реализовать такое. Есть обычная форма, человек заполнил к примеру первый input и чтобы перейти к заполнению второго inputa ему нужно нажать стрелку вправо или влево на клавиатуре, получается переходы по input c помощью стрелок вправо и влево.

krasovsky 06.10.2014 12:52

Для этого вам понадобиться: учебник по javascript,голова - 1шт, руки - 2шт(можно одну но будет не так вкусно). Варить час, до полной готовности.

berto 08.10.2014 11:37

Спасибо, буду разбираться.

kostyanet 09.10.2014 10:46

Цитата:

Сообщение от berto
ему нужно нажать стрелку вправо или влево на клавиатуре, получается переходы по input c помощью стрелок вправо и влево.

Такая голова никогда не сварится. Набил юзер текст, а, блин, букву пропустил, нажал стрелку влево - хякс на предыдущее поле прыгнул, мышой ткнул, нажал вправо - на следующее.

В общем что никто там не регался - сделайте такую фичу, ага.

Нормально все прыгает по нажатию табуляторов. Максимум что вы можете добавить это екзельный бихавиоур - прыгать вперед по нажатию Enter. Разумеется форма должна быть заблокирована от автоматической отгрузки.

kostyanet 09.10.2014 10:47

ТС наверно не знает что переход на следующее поле без мыши делается кнопкой Tab. Теперь знает. Напишите об этом где-то рядом с формой, чтобы и другие колхозники узнали светлый путь.

kostyanet 09.10.2014 10:52

С ентером тоже не все так просто, если в форме есть тектареа ее надо обходить.
/* next input by enter */
			form.addEventListener("keyup", function(event){
				var code = event.which || event.keyCode;
				if(code==13 && event.target.type!='textarea') {
					// тут фокус на след элемент
					// фокус еще в том как его найти, следующий
				}
			});


В принципе стрелками вниз-вверх можно переходить, но если только поля друг над другом, а не слева направо.


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