Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo_Silva

Válidar um simples CheckBox

Recommended Posts

Olá pessoal, estou estudando PHP, com isso chegou na parte de formularios, só que o autor disse que não iria aprofundar em JS, então ele só postou o código de alguns controles.

 

O de text, fiz desse modo e deu certinho:

 

function validaDados(formulario){
 if(formulario.nome.value == ""){
   alert("O campo Nome é obrigatorio !");
   return false;
 }
}
....
<form action="prog06.php" onSubmit="return validaDados(this)">
 Nome: <input type="text" name="nome" size="12" /> <br />
 <input type="submit" name="enviar" value="Enviar" />
</form>

 

 

Como falei, só fui na lógica mesmo de acordo com os exemplos que ele usou, aí tentei o checkbox e não funcionou :P

 

if(!formulario.preferencias[0].checked || !formulario.preferencias[1].checked || !formulario.preferencias[2].checked){
 alert("Selecione uma Preferencia !");
 return false;
}
...
<p>
Preferências: <br />
 <input type="checkbox" name="preferencias[]" value="musica" />Música <br />
 <input type="checkbox" name="preferencias[]" value="dance"  />Dance <br />
 <input type="checkbox" name="preferencias[]" value="carros" />Carros <br />
</p>

 

Sabem uma maneira bem simples mesmo, de verificar se não foi marcado ? Só para poder entender como funciona, não precisa de uma válidação mto avançada e mtas funções. Pq ví um exemplo de um site, só que usava mtas funções e não peguei bem, depois do básico do PHP eu volto pro JS e tento uma varificação forte.

 

Mto obrigado rapaziada. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim funciona:

document.getElementById('form').onsubmit = function(e){
					e = e || window.event;
					e.preventDefault();
					var checkbox = document.getElementsByName('preferencias[]');
					
					var count = 0;
					for (var i = 0; i < checkbox.length; i++) {
						if (checkbox[i].checked) 
							count++;
					}
					
					if (!count) {
						alert('Selecione ao menos 1 opção!');
					}
				}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rick, obrigado pela resposta, irei estudar esse código e tentar entender melhor.

 

Agora pessoal, sabem me dizer a funciolanidade de 'formulario' ?

 

function validaDados(formulario){

--if(formulario.nome.value == ""){

----alert("O campo Nome é obrigatorio !");

----return false;

--}

}

 

Pq na hora que invoca a função, não percebi nenhuma váriavel, então esse 'formulario', tem qual valor dentro dele ?

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o form tem que ter um "name" que seria esse!

 

faz assim..

function validaDados(formulario){
formul = document.formulario;

if(formul.nome.value == ""){

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.