Dúvida Javscript

Olá a todos!

Estou com um problema pra resolver em uma página de cadastro onde quando o usuário termina de preencher certos campos,
ele vai para o próximo sem precisar digitar o tab.

criei uma função em javascript onde o campo é o campo onde o usuário está entrando com os dados, o maxLenght é a quantidade de caracteres
que o campo permite, e o proximo item seria o campo para o qual eu quero jogar o focus() quando o usuário terminar de preencher o campo atual…

function mudarFocus(campo, maxLenght, proximoItem) {
        if(maxLenght == campo.toString().lenght) {
            proximoItem.focus();
        }
    }

isso foi oq consegui fazer. acho que da pra entender oq quero fazer com esse codigo, mas ele não funciona!
alguém tem alguma idéia pra ajudar…

grato!

Amigo, tome cuidado com a sua ortografia. O comprimento de uma string é dado por length, não lenght.

O Javascript não é o Google e não corrige automaticamente a sua ortografia.

[quote=thingol]Amigo, tome cuidado com a sua ortografia. O comprimento de uma string é dado por length, não lenght.

O Javascript não é o Google e não corrige automaticamente a sua ortografia. [/quote]

é isso é verdade!
eu acabei digitando o código aqui e errei na ortografia!
:smiley:

o fato é que essa propriedade length só retorna 0 (zero)…

Você está passando o campo ou o valor do campo?

Caso seja o campo você deve usar

campo.value.length

Posta o trecho da página onde você usa a função.

O código agora está assim:

function mudarFocus(campo, maxLenght, proximoCampo) {
        if (maxLenght == campo.value.length) {
            proximoCampo.focus();
        }
    }

adicionei evento no “TextBox1”;

agora o problema está no métodos focus(). A mensagem de erro é:
O objeto não dá suporte para a propriedade ou método

tentei assim tbm, mas não deu certo!

Parece que você está passando uma string ao invés de passar um campo.
De qualquer forma, usa jquery e para de sofrer.

Se os campos estiverem dentro de um mesmo form e o nome do campo for TextBox2 faça assim:

onKeyDown="mudarFocus(this, 3, this.form.TextBox2)"  

só um lembrete, coloque sempre javascript: na frente ex:

onKeyDown="javascript:mudarFocus(this, 3, this.form.TextBox2)"  

[quote=plic_ploc]Se os campos estiverem dentro de um mesmo form e o nome do campo for TextBox2 faça assim:

onKeyDown="mudarFocus(this, 3, this.form.TextBox2)"  

só um lembrete, coloque sempre javascript: na frente ex:

onKeyDown="javascript:mudarFocus(this, 3, this.form.TextBox2)"  

[/quote]

exatamente isso plic_ploc
a function ficou assim:

<script type="text/javascript">
    function mudarFocus(campo, maxLenght, proximoCampo) {
        if (maxLenght == campo.value.length) {
            proximoCampo.focus();
        }
    }
    
</script>

e o evento assim:

RESOLVIDO :smiley:

muito obrigado!