Ir para conteúdo

POWERED BY:

Arquivado

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

cesarcrfilho

Problema com Validação de Radio Button

Recommended Posts

Senhores, boa tarde,

 

Estou com um problema de validação de radio buttons. Peguei um código no fórum e o adaptei. Porém, parece que apenas um dos botões está sendo validado.

 

Código:

if(!RadioPortas()){
  alert('Preencha a opção Nº de portas');
  form.portas[0].focus();
  return false;
}

function RadioPortas(){
  var form = document.form1;
		
  for(var i = 0; i < form.portas.length;i++){
					 
   if(!form.portas[i].checked == true){
     return false;
   }
   else{
     return true;
   }
  }

}

Tenho duas opções: 2 ou 4 (número de portas). Porém, quando clico no radiobutton de 4 portas, ele entende que não selecionei nenhum radiobutton.

 

Alguém sabe onde está o problema?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(!form.portas[i].checked == true){
 return false;
 }
 else{
 return true;
 }

Só respondendo a sua dúvida: observe que assim que o script encontrar o primeiro radio marcado ele vai retornar TRUE, ou seja, válido...

 

Quando for fazer algo do tipo, faça assim:

function RadioPortas(){
 var form = document.form1;
 var count = 0; 
 for(var i = 0; i < form.portas.length;i++){
 if(!form.portas[i].checked == true){
 count++;
 }
 }
 if(count > 0) return true;
 else return false;
}

 

Porém, faça como os colegas citaram...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara sinceramente, não vejo necessidade também de validar radios buttons mais enfim

se quiser, o seu erro é em retornar o valor (true,false) sem validar todo o form

faça

 

   var form = document.form1;                  
   var checados= 0;
   var naochecados= 0;
   for(var i = 0; i < form.portas.length;i++){
      if(!form.portas[i].checked == true){ 
         naochecados++;
      } else{
         checados++;
      } 
   }

   if(checados <=0){
      alert('preencha algum checkbox');
      return false;
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara sinceramente, não vejo necessidade também de validar radios buttons mais enfim

se quiser, o seu erro é em retornar o valor (true,false) sem validar todo o form

faça

 

   var form = document.form1;                  
   var checados= 0;
   var naochecados= 0;
   for(var i = 0; i < form.portas.length;i++){
      if(!form.portas[i].checked == true){ 
         naochecados++;
      } else{
         checados++;
      } 
   }

   if(checados <=0){
      alert('preencha algum checkbox');
      return false;
   }

Também não sei pra que validar radios, mas como é o meu cliente que decide...

Vou testar isso e respondo em seguida. Valeu! ;)

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.