Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Автоматический переход к следующему input при заполнении текущего / 2 сообщений из 2, страница 1 из 1
25.02.2014, 22:03
    #38572277
D_A_S1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический переход к следующему input при заполнении текущего
Добрый день!
У меня на странице есть 5 input, в который можно ввести одно значение. Мне нужно, при заполнении значения, автоматически переходить к следующему input.
Я сделал так:
Код: html
1.
2.
3.
4.
5.
6.
7.
<div class="divInput1">
	<input id="tbVal1_1" type="text" value="0" maxlength="1" onkeyup="nextJump1(this);" />
	<input id="tbVal1_2" type="text" value="0" maxlength="1" onkeyup="nextJump1(this);" />
	<input id="tbVal1_3" type="text" value="0" maxlength="1" onkeyup="nextJump1(this);" />
	<input id="tbVal1_4" type="text" value="0" maxlength="1" onkeyup="nextJump1(this);" />
	<input id="tbVal1_5" type="text" value="0" maxlength="1" />
</div>



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function nextJump1(x) {
	if (x.value.length == 1) {
		x.value = "";
		do {
			x = x.nextSibling;
		}
		while (x && !(/text/.test(x.type)));
		if (x && /text/.test(x.type)) {
			
			$(x).select();
		}
	}
}



Однако в этом механизме есть пару проблем. Может быть кто-нибудь подскажет, как их разрешить:
1) Как реализовать перемещение в обратную строну по элементам (shift + tab)
2) Когда я устанавливаю курсов в какой то элемент, и пытаюсь ввести какое - то значение, то это значение не отображается, т.к. уже есть значение по умолчанию. Как это можно исправить?
3) Как сделать, чтобы можно было вводить только цифры от 0-9.

Заранее спасибо!
...
Рейтинг: 0 / 0
26.02.2014, 02:42
    #38572353
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический переход к следующему input при заполнении текущего
D_A_S1,

$(x).select(); ?! Значит jQuery уже в деле? тогда не x.nextSibling, а x.next(), где x - это не this, а $(this).
Ну то есть понимаете? передавать в функцию надо тогда не this, а $(this).

1. x.prev()
2. выделить текст внутри элемента. Тогда при вводе данных, старые будут заменены новыми
3. насколько я помню, type у инпута надо выставить в number (если не ошибаюсь).
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Автоматический переход к следующему input при заполнении текущего / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]