Ir para conteúdo

Arquivado

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

didonsom

Duvida Window.onload

Recommended Posts

Olá Pessoal, Bom dia!

Esse é meu primeiro post no forum. Sou novo em programação Web e estou com um problema. Estou desenvolvendo um sistema em php e utilizo o script abaixo que obtive na net para validar o click dos checkboxs do form. Então por exemplo, se eu clicar no checkbox de nome não possui (checkAll do script), os demais checks serão desmarcados etc, até ai tudo bem a função funciona normalmente, coloco ela no meu <head></head> do form index.php

Abaixo o Codigo da função dados complementares:

<script type="text/javascript">
function dadoscomplementares() {

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("naopossuihab").onclick = function() 
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "checkhab[]")			
	  			 chk.checked = false;

			}
    		
		}

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("checkhab").onclick = function() 
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossuihab")			
	  			 chk.checked = false;

			}
    		
		}

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("checkhab2").onclick = function()  
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossuihab")			
	  			 chk.checked = false;

			}
    		
		}

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("checkhab3").onclick = function()  
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossuihab")			
	  			 chk.checked = false;

			}
    		
		}

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("checkhab4").onclick = function()  
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossuihab")			
	  			 chk.checked = false;

			}
    		
		}

		//obter o click do checkbox  - Dados Complementares
        document.getElementById("checkhab5").onclick = function()  
		{
            var form = document.getElementById("dadoscomplementares"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossuihab")			
	  			 chk.checked = false;

			}
    		
		}

}

O problema começa por que preciso utilizar essa mesma função para validar os checks de um outro form, só que ele não funciona!!! tipo, se eu chamar somente uma das funções através do window.onload = function() o form valida os checks normalmente mas se eu chamar as funções juntas, só funciona a primeira que chamei... alguem tem alguma luz de como resolver meu problema?

Codigo da segunda função javascript deficiente


function deficiente() {		

		//obter o click do checkbox  - DEFICIENTE
        document.getElementById("checkAll").onclick = function deficiente()
		{
            var form = document.getElementById("myForm"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "dados[]")			
	  			 chk.checked = false;

			}
    		
		}    

	    //obter o click do checkbox 
        document.getElementById("dados").onclick = function deficiente() 
		{
            var form = document.getElementById("myForm"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossui")			
	  			  chk.checked = false;
            }
        } 


		//obter o click do checkbox 
        document.getElementById("dados2").onclick = function deficiente() 
		{
            var form = document.getElementById("myForm"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossui")			
	  			  chk.checked = false;
            }
        } 

		//obter o click do checkbox 
        document.getElementById("dados3").onclick = function deficiente() 
		{
            var form = document.getElementById("myForm"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossui")			
	  			  chk.checked = false;
            }
        } 

		//obter o click do checkbox 
        document.getElementById("dados4").onclick = function deficiente()
		{
            var form = document.getElementById("myForm"); //formulário
            //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório
            var checks = form.getElementsByTagName("input");
            for(var i=0; i<checks.length; i++) {
                var chk = checks[i];
		        if(chk.name == "naopossui")			
	  			  chk.checked = false;
            }
        } 
}	

para chamar as funções faço dessa forma:

<script type="text/javascript">
window.onload = function() {

dadoscomplementares();
deficiente();

}

obrigado a todos

diego

Compartilhar este post


Link para o post
Compartilhar em outros sites

é necessario entender o motivo de não funcionar.

aperte Ctrl + Shift + J no teu Firefox ou Chrome e veja quais erros aparecem no console.

Se tiver dúvidas, poste o erro aqui e te ajudamos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!

Resolvi o problema mudando a função que utilizei para validar os checks em jquery

obtive através desse site, http://www.brandom.com.br/selecionar-todos-checkbox-com-jquery/

ai resolvi o problema obrigado a todos, abaixo o código, caso alguém precise.


<!-- script que verifica se os checksbox  do form #pd deficiente - area candidato estao marcados / desmarcados -->
<script language="javascript" type="text/javascript">

<!-- desmarcando todos se o não possui estiver marcado -->
$(function () {
   $('#checkAll').click(function () {
      var val = this.checked;
      $('input[name=dados').each(function () {
         $(this).prop('checked', false);
      });
   });
});

<!-- desmarcando o não possui estiver algum checkbox estiver marcado -->
$(function () {
   $('input[name=dados]').click(function () {
      var val = this.checked;
      $('input[name=naopossui').each(function () {
         $(this).prop('checked', false);
      });
   });
});
</script>


<!-- script que verifica se os checksbox  do form #dc checkhab - area candidato estao marcados / desmarcados -->
<script language="javascript" type="text/javascript">

<!-- desmarcando todos se o não possui estiver marcado -->
$(function () {
   $('#naopossuihab').click(function () {
      var val = this.checked;
      $('input[name=checkhab').each(function () {
         $(this).prop('checked', false);
      });
   });
});

<!-- desmarcando o não possui estiver algum checkbox estiver marcado -->
$(function () {
   $('input[name=checkhab]').click(function () {
      var val = this.checked;
      $('input[name=naopossuihab').each(function () {
         $(this).prop('checked', false);
      });
   });
});
</script>

diego

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.