Функция Jquery для перехода к текстовому полю при нажатии клавиш - PullRequest
2 голосов
/ 24 апреля 2009

В настоящее время у меня есть 4 текстовых поля, которые будут использоваться для хранения IP-адреса. Мне нужна помощь с функцией, которая позволит пользователю вводить «.» и текстовое поле может изменить фокус с текущего текстового поля на следующее текстовое поле.

Заранее спасибо

Ответы [ 4 ]

5 голосов
/ 24 апреля 2009

Предполагая, что ваши текстовые поля имеют имена ip0, ip1, ip2, ip3:

$(document).ready( function() {
    $('#ip0,#ip1,#ip2').keydown( function(event) {
       var key = event.charCode || event.keyCode || 0;
       if (key == 190) {
           event.preventDefault();
           var i = Number(this.id.replace(/ip/,'')) +1;
           $('#ip'+i).focus();
       }
    });
});
1 голос
/ 24 апреля 2009

Я бы предпочел использовать "маску" -плагин, как этот: http://digitalbush.com/projects/masked-input-plugin/
Это дало бы вам возможность придать ему красивый вид, а вашим посетителям скопировать IP и вставить его.

1 голос
/ 24 апреля 2009
textbox.onChange = function(){
   if(textbox.value[textbox.value.length-1] =='.'){
     textbox.value = textbox.value.substring(0,textbox.value.length-2);
     nextTextbox.focus();
   }
}

Я не проверял это, но думаю, что-то в этой общей идее.

0 голосов
/ 24 апреля 2009

Не можете ли вы поймать событие onKeyPress на поле, и если символ соответствует "." сосредоточиться на следующей коробке? Например:

var dotCode = ".".charCodeAt( 0 );
$("box0").bind( "keypress", function( e ){ 
    if( e.keyCode === dotCode ){ $("box1").focus( ); }
});

// etc...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...