Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2011, 14:24
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

При наборе 4 символов курсор перемещается в следующее поле
Доброго времени!
Делаю форму для оплаты карточками. Нужно сделать как в стандартных вводах серийника - 4 поля по четыре символа. После ввода первых четырех, курсор перемещается в следующее поле.

Искал в интернете, но ничего похожего не нашел.

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2011, 14:35
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<html>
<head>
<script>
function check(obj) {
	if (obj.value.length == 4) {
		var next = obj.nextSibling;
		while(next.nodeType != 1 && next.nextSibling)
			next = next.nextSibling;
		if (next.nodeType == 1)
			next.focus();
	}
}
</script>
</head>
<body>
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> - 
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> - 
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> - 
<input type="text" size="4" maxlength="4" onkeyup="check(this);" />
</body>
</html>
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 10.05.2011, 15:33
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2011, 15:48
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

<html>
<head>
</head>
<body>
<form>
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> -
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> -
<input type="text" size="4" maxlength="4" onkeyup="check(this);" /> -
<input type="text" size="4" maxlength="4" onkeyup="check(this);" />
<input type="checkbox" />
<input type="submit" />
</form>
</body>
</html>


А вот если есть такая форма и нужно кнопку submit сделать активной только тогда, когда все поля заполнены? Как быть в этот раз?
Ответить с цитированием
  #5 (permalink)  
Старый 10.05.2011, 15:54
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Добавьте еще пару строчек кода которые буду проверять поля и менять состояние кнопки.
На словах: пробегаете по всем полям, и если есть хоть одно поле не заполнено, то кнопки придаете стиль disabled = 'disabled'. Если же все поля заполнены то убираете: disabled = '';
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 11.05.2011, 10:00
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Да, примерно так и сделал. Спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2013, 01:53
Новичок на форуме
Отправить личное сообщение для Halloween Посмотреть профиль Найти все сообщения от Halloween
 
Регистрация: 26.02.2012
Сообщений: 3

А не подскажете, почему перестал работать этот самый перескок?

http://msufootball.ru/tournaments/op...4/application/

<script>
function Jump(x){
    var ml = ~~x.getAttribute('maxlength');
    if(ml && x.value.length >= ml){
        do{
            x = x.nextSibling;
        }
        while(x && !(/text/.test(x.type)));
        if(x && /text/.test(x.type)){
            x.focus();
        }
    }
}
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спрятать/показать поле ввода при нажатии на checkbox g1r Элементы интерфейса 34 16.12.2017 00:34
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
IE 8: курсор, установленный в поле INPUT, пробивает стены насквозь! Маэстро Internet Explorer 4 21.06.2011 01:38
Подбор варианта из списка select при наборе текста omvitamin Элементы интерфейса 6 04.04.2011 14:48
Почему в Opera исчезает курсор при нажатии клавиши Esc ? Маэстро Opera, Safari и др. 3 23.11.2010 16:31