Ir para conteúdo

POWERED BY:

Arquivado

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

danilomk2

Como saber se há alguma CHECKBOX marcada?

Recommended Posts

Olá, tenho o seguinte código:

 

<script type="text/javascript">
<!--
	function toggle(id) {
	   var e = document.getElementById(id);
	   if(e.style.display == 'none')
		  e.style.display = 'block';
	   else
		  e.style.display = 'none';
	}
 </script>
<form>
<input name="" type="checkbox" value="" onclick="toggle('deletar')" />
<input name="" type="checkbox" value="" onclick="toggle('deletar')"/>
<input name="" type="checkbox" value="" onclick="toggle('deletar');" />

<div id=deletar style="display:none">
<input name="" type="button" value="Confirmar" />
</div></form>

Só que não estou conseguindo fazer o que preciso. Que é o seguinte:

 

1. Ao marcar qualquer CHECKBOX, aparecer a div "deletar".

2. Fazer com que essa div suma apenas se não houver nenhum CHECKBOX marcada.

 

Do jeito que fiz aí em cima. se eu marcar as 3 checkboxs e depois desmarcar qualquer uma, a div já desaparece.

E também se marcar uma e depois marcar outra, a div já some.

Alguém pode me ajudar? Já estou há algum tempo quebrando a cabeça e não consegui de jeito nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Visite meu site

 

Bem, depois de muito tentar, consegui. Então vamos lá:

 

Primeiro vem a função de mudar o DISPLAY da div para BLOCK:

<script language="JavaScript">
function show(id) {
	   var e = document.getElementById(id);
		  e.style.display = 'block';
	  }

Depois a função para mudar para DISPLAY:NONE

function hide(id) {
	   var e = document.getElementById(id);
		  e.style.display = 'none';
	  }

 

Essa aqui vai ver se tem algum checkbox marcada dentro do fomulário:

Se encontrar alguma marcada, ele vai executar a função SHOW e depois para, se não tiver o return ali, ele vai continuar procurando checkboxs, e pode encontrar mais alguma DESmarcada, e então esconder a div novamente.

 

Caso ele não encontre nenhuma marcada, executará a função HIDE.

function checks(id) {

		for (i=0; i<=document.forms["NOMEAQUI"].length; i++) {
			  if (document.NOMEAQUI.elements[i].checked) {
									show(id);
							 return;
		   		}
		   	else {
		   			hide(id);
		   		}
		}
}
</script>

Agora o HTML

<form name="formss">
<input type=checkbox name=check onchange="checks('delete');">
<input type=checkbox onchange="checks('delete');">
<input type=checkbox onchange="checks('delete');">
</form>

<div id="delete" style="display:none">Tem pelo menos uma box marcada.</div>

E é isso. espero que isso possa ajudar algum que tenha a mesma dúvida depois.

 

Visite meu site

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.