Percorrer elementos de formulário com um loop

Pergunta
Estou fazendo em javascript validações para uns formulários.

Tenho um código como o que escrevo a seguir, porém ao invés de com só duas chamadas à função validar_campo, há 22 chamadas, já que os 22 campos do formulário têm que passar por esta validação:

..................................
function validacao(formulario){
    if(validar_campo(formulario.campo1)==false)
       return false;
    if(validar_campo(formulario.campo2)==false)
       return false;
    return true;
} ..................................

Gostaria de fazer algo como isto; (o que vou escrever sei que não funciona, mas é só uma forma de tentar explicar o que quero fazer)

..................................
function validacao(formulario){
    for(int i=1; i<23; i++){
       if(validar_campo(formulario.campo"i")==false)
          return false;
    }
    return true;
}
.................................. Alguém poderia me ajudar?

Valorize esta FAQ:
A FAQ Percorrer elementos de formulário com um loop tem Pertence à categoria:
Resposta
Os elementos de um formulário estão na matriz elements[]. Você poderá conhecer melhor esta matriz no artigo Trabalho com formulários em Javascript.

Em seu caso, você pode fazer algo como isto:

function validacao(formulario){
   for(int i=1; i<23; i++){
       if(!validar_campo(formulario.elements[i])
          return false;
   }
   return true
}

Por Miguel Angel Alvarez

Voltar à árvore de categorias Voltar à árvore de categorias

 
FAQs relacionadas
  + Script para diferenciar resoluções de tela
  + Redimensionar o tamanho de uma janela do navegador
  + Mostrar a hora atual com Javascript
  + Action diferentes em Javascript
  + Tela completa com Javascript
  + Comprovar valores no input
  + Passar de tela completa a tela normal
  + Abrir dois links com um só clique
  + Dúvida com evento onBlur
  + Saber se um ano é bissexto
  + [...]

Ver todas las FAQS de Scripts em Javascript

Usuários :    login / registro

Home | Sobre nós | Copyright | Anuncie | Entrar em contato