Noah Katz Ответов: 1

Как автоматически переключить фокус на следующее текстовое поле


Привет, у меня есть 3 текстовых поля для ввода пользователем номера телефона. Каждый из них установлен на максимум каждого сегмента телефонного номера - (xxx xxx xxxx)3,3,4

Как мне изменить этот код, чтобы сделать это? Он работает с помощью клавиши Tab, но я бы хотел, чтобы он прыгал, когда он достигает максимальной длины символа:

<label for="P1" class="CstmFrmElmntLabel">Owner Phone</label>  
                
                <input name="P1" type="text" id="P1" size="6" class="CstmFrmElmntInputi29" onfocus="javascript:this.className = 'CstmFrmElmntInputi29NavSel';" onblur="javascript:this.className = 'CstmFrmElmntInputi29';" onmouseover="window.status = 'Owner\'s Phone Number: Area Code';
                        return true;" onmouseout="window.status = '';
                        return true;" title="Owner's Phone Number: Area Code" value="<? echo $P1; ?>" maxlength="3" onkeyup="AEV_set_tel_number('Phone_Number', 'P');"/>
                                                      
                <input name="P2" type="text" id="P2" size="6" class="CstmFrmElmntInputi29" onfocus="javascript:this.className = 'CstmFrmElmntInputi29NavSel';" onblur="javascript:this.className = 'CstmFrmElmntInputi29';" onmouseover="window.status = 'Owner\'s Phone Number: Prefix';
                        return true;" onmouseout="window.status = '';
                        return true;" title="Owner's Phone Number: Prefix" value="<? echo $P2; ?>" maxlength="3" onkeyup="AEV_set_tel_number('Phone_Number', 'P');" />
                                 
                <input name="P3" type="text" id="P3" size="8" class="CstmFrmElmntInputi34" onfocus="javascript:this.className = 'CstmFrmElmntInputi34NavSel';" onblur="javascript:this.className = 'CstmFrmElmntInputi34';" onmouseover="window.status = 'Owner\'s Phone Number: Suffix';
                        return true;" onmouseout="window.status = '';
                        return true;" title="Owner's Phone Number: Suffix" value="<? echo $P3; ?>" maxlength="4" onkeyup="AEV_set_tel_number('Phone_Number', 'P');" />
                        
                <input type="hidden" name="Phone Number" id="Phone_Number" value="<? echo $Phone; ?>" />
                <br />


Что я уже пробовал:

Я еще не знаю, что делать. Я довольно новичок в php и только учусь и думал, что справлюсь с этим в коде, который уже существует.

1 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

Там нет ничего встроенного, но сам код довольно прост...
Все, что вам нужно, - это добавить ценность к атрибут MaxLength[^] атрибут и сделайте какой-нибудь код...
Пример на основе jQuery:

$( "input[maxlength]" ).keyup(function() {
    var maxLen = this.maxLength;
    var currentLen = this.value.length;

    if (maxLen === currentLen)
    {
        $(this).next().focus();
    } 
});