Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Luiz

Validacao de um ou varios radio

Recommended Posts

Procurei na internet mais nao consegui resolver, creio que seja muito facil esta minha duvida para quem entendi do assunto.

 

Utilizo o seguind codigo para validar radio que encontrei na internet.

 

CODE
function checa(nform) {

//validacao de radio buttons sem saber quantos sao

marcado = -1

 

for (i=0; i<nform.vagasbusca.length; i++) {

if (nform.vagasbusca.checked) {

marcado = i

resposta = nform.vagasbusca.value

}

}

 

if (marcado == -1) {

alert("Escolha uma vaga");

nform.vagasbusca[0].focus();

return false;

 

} else { //esse else so foi colocado para evitar que o form desse o submit

return true;

 

} }

Porem se tiver apenas um radio button, da erro. Mais se tiver mais do que um ele funciona normal. Estou precisando que ele funciona tanto pra um apenas ou quantos existir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse trecho

for (i=0; i<nform.vagasbusca.length; i++) {
	if (nform.vagasbusca[i].checked) {
		marcado = i
		resposta = nform.vagasbusca[i].value
	}
}

 

baseado no que você escreveu e no script apresentado,

 

apresento 2 soluções:

 

verifica se existe algum não clicado

rs = true;
objf = nform.elements;
objfSize = objf.length;
for (i=0; i<objfSize; i++) {
	
	if ( objf[i].type='radio' && !objf[i].checked) {
		rs = false;
		break;
	}
}
if( rs ){
// ok, passou
}else{
	alert("Escolha uma vaga");
	return rs;
}

 

 

verifica se pelo menos 1 foi clicado

rs = false;
objf = nform.elements;
objfSize = objf.length;
for (i=0; i<objfSize; i++) {
	
	if ( objf[i].type='radio' && objf[i].checked) {
		rs = true;
		break;
	}
}
if( rs ){
// ok, passou
}else{
	alert("Escolha uma vaga");
	return rs;
}

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.