Ir para conteúdo

POWERED BY:

Arquivado

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

pixer

Problemas com checkbo

Recommended Posts

Bom dia rapaziada!

 

seguinte,

 

fiz um checkbox para o usuário afirmar que leu os termos (para um concurso de um site que estou desenvolvendo).

 

meu objetivo seria: se o usuário clicar na label ("Li o regulamento e estou pronto para me inscrever") ou no checkbox que está antes da label, o checkbox seria selecionado e então "ativaria" o botão que existe na página ("estou pronto para participar do concurso") que o levaria para a página seguinte.

 

montei a estrutura seguinte :

 

HTML:

 

<form id="check_regul" onclick="check_on_off()" name="check_regulamento"><input type="checkbox" name="" onclick="check_on_off()" /><label>Li o regulamento e estou pronto para me inscrever</label></form>

JS:

 

<script type="text/javascript" defer="defer">

	var control_termos = document.getElementById("ctrl_termos"); 
	document.check_regulamento.elements[0].checked = false; //força o checkbox a ficar desmarcado quando a página for carregada
	function check_on_off(){
		var change_btn = document.getElementById("inscreva_se"); //botao que será "ativado"

		  if(document.check_regulamento.elements[0].type == "checkbox"){
			 x = document.check_regulamento.elements[0].checked;
			 if(x == true){
				 document.check_regulamento.elements[0].checked = 1;
				 change_btn.className = change_btn.className.replace("inscreva_se_off", "inscreva_se");
				 change_btn.setAttribute("href", "/claro-mexase");
				 
			 }else if(x == false){
				document.check_regulamento.elements[0].checked = 0; 
				change_btn.className = change_btn.className.replace(change_btn.className, "inscreva_se_off");
				change_btn.removeAttribute("href");
			 }
		}	
	}
</script>

o problema:

 

não estava conseguindo que ao clicar sobre o form ou sobre o checkbox checasse o checkbox e ativasse o botão .

 

então coloquei um alert nos ifs

 

e quando clico no form pra checar ele me retorna que

document.check_regulamento.elements[0].checked = false
e quando clico no checkbox mesmo ele me retorna que
document.check_regulamento.elements[0].checked = true

entendi que ao clicar no form, a verificação é feita com o checkbox ainda "unchecked"

mas ao clicar no checkbox, a veficicação é feita depois que o checkbox foi checado.

 

 

este é o nó que está na minha cabeça.

 

agradeço ai quem puder me ajudar =)

Compartilhar este post


Link para o post
Compartilhar em outros sites


<body onload='document.getElementById('botao').disabled = true;>

<label for='check'> Li o Contrato e Aceito ... </label>

<input type='checkbox' name='check' id='check' onclick='if(this.checked) document.getElementById('botao').disabled = false; else document.getElementById('botao').disabled = true;'>

 

<input type='submit' name='botao' id='botao' value='Teste'>

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.