Ir para conteúdo

POWERED BY:

Arquivado

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

felini

[Resolvido] Validação de campos type=RADIO

Recommended Posts

Fala galera!

 

Estou trabalhando em um formulário que contém 30 perguntas. Cada pergunta tem 3 respostas.

 

Sim | Às Vezes | Não

Por exemplo: a Pergunta 1 tem 3 respostas, ou seja, 3 campos input do tipo radio com o name/id="pergunta1"

 

Quero validar por JavaScript ou jQuery. Procurei na internet mas os exemplos não são claros.

 

Como posso fazer pra validar esses 30 campos?

 

Atualmente meu JS está da seguinte forma:

 

	function validaClima(){
		d = document.form_clima;
		
		if (d.hotel.value == "0"){
			alert("Selecione um hotel!");
			d.hotel.focus();
			return false;
		}
        if (d.cargo.value == "0"){
            alert("Selecione um cargo!");
            d.cargo.focus();
            return false;
        }
	return true;
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara. em php eu sei, mas em javascript não é meu forte, mas deve ser quase a mesma coisa a estrutura.

 

em PHP ficaria assim:

$validar = $_POST["nomedoradiobutton"];

if($validar == ""){
echo"você tem que responder todas perguntas";
}

isso para cada pergunta com 3 radio buttons...

 

mas segue essa linha de raciocinio que eu acho que dá...

pega o if a variável do nome do radiobutton = "" (espaço vazio)

e faz um alert que deve dar (eu não sei, só suposição. já que não mecho tanto com jsp)

 

espero que tenha te ajudado

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 campos input do tipo radio com o name/id="pergunta1"

 

Não duplique IDs numa mesma página.

 

exemplo de validação de rádios com javascript puro:

<html>
<head>
<script type="text/javascript">
function id( el ){
	return document.getElementById( el );
}
function name( el ){
	return document.getElementsByName( el );
}
function valida_radios( radios )
{
	for( var i=0; i<radios.length; i++ )
	{
		if( radios[i].checked )
			return true;
	}
	return false;	
}
window.onload = function()
{
	id('form_radios').onsubmit = function()
	{
		var erro = false;
		if( !valida_radios( name('pergunta1') ) )
		{
			alert( 'Nenhum rádio pergunta 1 marcado!' ); 
			erro = true;
		}
		if( !valida_radios( name('pergunta2') ) )
		{
			alert( 'Nenhum rádio pergunta 2 marcado!' ); 
			erro = true;
		}
		if( erro )
			return false;
	}
}
</script>
</head>
<body>
	<form action="" method="post" id="form_radios">
		Simples esse script?<br />
		Sim <input type="radio" name="pergunta1" value="Sim" /><br />
		Não <input type="radio" name="pergunta1" value="Não" /><br />
		Talvez <input type="radio" name="pergunta1" value="Talvez" /><br />
		
		<br />
		Entendi oque foi feito?<br />
		Sim <input type="radio" name="pergunta2" value="Sim" /><br />
		Não <input type="radio" name="pergunta2" value="Não" /><br />
		Talvez <input type="radio" name="pergunta2" value="Talvez" /><br />
		
		<input type="submit" name="enviar" value="enviar" />
	</form>
</body>
</html>
para fazer com jQuery, é bem simples, existem vários blogs ensinando.. só pesquisar um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@GutoDPB

- Cara eu até tentei seguir essa lógica primeiramente no JS mas não rolou! Meus conhecimentos em JS são bem básicos, por isso recorri ao fórum.

 

@WilliamBruno

- É exatamente isso que eu precisava, no entanto procurei por alternativas em jQuery e consegui solucionar o problema, no entanto, vou salvar esse teu exemplo para uso futuro, ou até mesmo substituir pra ver se terá a mesmo resultado!

 

Obrigado a todos! ;)

 

[por mim esta resolvido]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste a solução em jQuery, pois pode ajudar membros que venham a pesquisar por este tópico :lol:

 

[Resolvido]

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.