Ir para conteúdo

POWERED BY:

Arquivado

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

Rafinhavm

Validar pelo menos 1 checkbox

Recommended Posts

Oi, galera! É algo meio urgente, infelizmente! =/

 

Preciso de ajuda!

 

Tenho um formulário com vários checkbox's, o código:

 

<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - RJ" checked />NOVO ACORDO ORTOGRÁFICO - RJ <br />
<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - SP" checked />NOVO ACORDO ORTOGRÁFICO - SP <br />
<input name="slCursos" type="checkbox" value="GESTAO DE RECURSOS HUMANOS" checked />GESTÃO DE RECURSOS HUMANOS<br />
<input name="slCursos" type="checkbox" value="TREINAMENTO EM TECNICAS DE NEGOCIACAO" checked />TREINAMENTO EM TECNICAS DE NEGOCIAÇÃO<br />

Eu preciso fazer uma validação para que pelo menos 1 checkbox esteja selecionado, quer dizer, pra enviar o formulário pelo menos 1 opção precisa estar selecionada... Como faço isso? Sou nova em programação, não entendo muito de javascript....

 

Obrigada desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegue todos os elementos do formulário através do

 

oi = document.forms[0].elements

 

Percorra o array

Se tiver apenas uma sequência de checkbox

 

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

if(oi.type == 'checkbox'){

if(checkbox.checked){b = true;}

}

}

}

if (b == false){alert("Preencha ao menos um checkbox")}

 

Só é a lógica, tem diversas formas de fazer, eu mesmo já fiz de uma forma diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi!!

 

obrigada pela resposta! um amigo me ensinou a fazer dessa forma:

 

<script type="text/javascript">														 

function validaForm(){

   
	
	if(!checkVazio(document.getElementById('inscricoes')))
	{
		alert ('Por favor, escolha pelo menos 1 curso');
		return false;
	}
	

}

</script>

<script type="text/javascript">

function checkVazio(obj)
{
	var status = false
		for(i=0; i<obj.length; i++)
		{
		var opt = obj[i];
		if(opt.type=="checkbox")
		{
		if(opt.checked)
		{
		status = true;
		break;
	 }
}
}

return status;

}

</script>

 

<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - RJ"  />NOVO ACORDO ORTOGRÁFICO - RJ <br />
<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - SP"  />NOVO ACORDO ORTOGRÁFICO - SP <br />
<input name="slCursos" type="checkbox" value="GESTAO DE RECURSOS HUMANOS"  />GESTÃO DE RECURSOS HUMANOS<br />
<input name="slCursos" type="checkbox" value="TREINAMENTO EM TECNICAS DE NEGOCIACAO"  />TREINAMENTO EM TECNICAS DE NEGOCIAÇÃO<br />
	
	<input id="btnOK" src="img/enviar.gif" type="image" class="btnEnviar">
	</fieldset>
</form>

 

tá dando certinho no IE, mas no Firefox não funciona... o que pode ser isso? =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

já descobri o motivo de não funcionar no firefox!! tinha que colocar um id no form action com o nome de inscrições (<form action=".... id="inscricoes" ... ) ! pra poder pegar o valor em getElementByID...

 

espero ter ajudado alguém!

 

 

oi!!

 

obrigada pela resposta! um amigo me ensinou a fazer dessa forma:

 

<script type="text/javascript">														 

function validaForm(){

   
	
	if(!checkVazio(document.getElementById('inscricoes')))
	{
		alert ('Por favor, escolha pelo menos 1 curso');
		return false;
	}
	

}

</script>

<script type="text/javascript">

function checkVazio(obj)
{
	var status = false
		for(i=0; i<obj.length; i++)
		{
		var opt = obj[i];
		if(opt.type=="checkbox")
		{
		if(opt.checked)
		{
		status = true;
		break;
	 }
}
}

return status;

}

</script>

 

<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - RJ"  />NOVO ACORDO ORTOGRÁFICO - RJ <br />
<input name="slCursos" type="checkbox" value="NOVO ACORDO ORTOGRAFICO - SP"  />NOVO ACORDO ORTOGRÁFICO - SP <br />
<input name="slCursos" type="checkbox" value="GESTAO DE RECURSOS HUMANOS"  />GESTÃO DE RECURSOS HUMANOS<br />
<input name="slCursos" type="checkbox" value="TREINAMENTO EM TECNICAS DE NEGOCIACAO"  />TREINAMENTO EM TECNICAS DE NEGOCIAÇÃO<br />
	
	<input id="btnOK" src="img/enviar.gif" type="image" class="btnEnviar">
	</fieldset>
</form>

 

tá dando certinho no IE, mas no Firefox não funciona... o que pode ser isso? =/

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.