Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lhalegria

length undefined

Recommended Posts

Olá pessoal.

 

estou começando no javascript, e como todo iniciante, estou sedento por conhecimento.

 

eu estou com um problema em um código que tô fazendo, é o seguinte:

 

eu tenho duas funções:

 


function validarFone(fone) {
   fone.value = removerMascaraNumeros(fone);
   if((fone.length!='8')&&(fone.length!='10')&&(fone.length!='12'))
      return window.alert("Telefone inválido!");
   else
      return '';
}

function removerMascaraNumeros(texto) {
   var numeros = "0123456789";

   for(cont=0;cont<texto.length;cont++)
      if(numeros.indexOf(texto.charAt(cont)) == -1)
         texto.value = str.replace(texto.charAt(cont), '');
   return texto.value;
}

estou chamando a função no seguinte local:

 

<form action="../../cms/Comunicacao/Cmembros.php" method="post" name="FMembros">
        <table>
              <tr>
                 <input type="hidden" name="id" value="<?php echo $dados[0] ?>">
                 <td>Nome do Membro:</td>
                 <td><input type="text" name="edNome" value="<?php echo $dados[1]; ?>"></td>
              </tr>
              <tr>
                 <td>Telefone:</td>
                 <td><input type="text" name="edTelefone" value="<?php echo $dados[2]; ?>" onblur="validarFone(this)"></td>
              </tr>
         .
         .
         .

 

o problema é que quando vou testar o length, me retorna length undefined sempre

por que será?

será que é porque no form passo $dados[2] como value?

 

e só para esclarecer, essa variavel vem de outro formulário quando aperto o botão editar nesse form, quando apero incluir, que é o meu caso, ela fica em branco mesmo.

 

será que alguém pode me ajudar??

 

agradeço desde já a atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto:

campo.value.length
^_^

 

entendeu? você testa o atributo .length da string .value do campo.

 

o campo diretamente não possui 'comprimento'. Mas o valor dele sim. (neste caso, significa 'quantidade de caracteres')

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.