Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Percorrer checkboxes marcados e pegar valor

Recommended Posts

Olá galera, estou com um probleminha aqui para ser resolvido, é o seguinte:

 

Tenho uma página onde listo diversos registros e abaixo de todos tenho um campo select com algumas opções, algumas delas gostaria que pegassem o valor dos campos checkbox marcados e passassem para outra função, olha o que faço:

 

Se o cara clica em OK sem selecionar nenhuma opção do select informo a ele que precisa marcar algo, se ele seleciona alguma opção do select e nao tem nenhum registro marcado informo a ele que precisa marcar algum registro, agora ai que esta, se for uma ou outra opção do select que consigo manipular tipo 1, 2 e 3 gostaria que ele pegasse todos os valores dos checkbox marcados e passassem para um window.open, vejam o script:

 

function verifica_acao() {if (membros.cs.selectedIndex < 1) { alert("Escolha ao menos uma ação a efetuar com os registros selecionados !"); membros.cs.focus(); return false;}ChecarGrupo();if (document.getElementById('cs').value == "2") {window.open("mensagem_inclusao.asp?cs="+valordoscheckboxes+"", "Postagem", "resizable=no, toolbar=no, status=yes, menubar=no, scrollbars=no, width=400, height=310, top=100, left=130");	}	document.membros.ig.value = document.getElementById('ig').value;document.membros.e.value = document.getElementById('e').value;document.membros.cs.value = document.getElementById('cs').value;membros.action = "membros_comunidade.asp";membros.submit();}function ChecarGrupo(im) {   var erro = "";   var i = 0;   var sel = 0;   var grupo=document.getElementsByTagName('input');   while (i < grupo.length) {	  if ((grupo[i].getAttribute('name') == 'im') && (grupo[i].getAttribute('type') == 'checkbox')){		 if (grupo[i].checked == true) {			sel = 1;		 }	  }	  i++;   }   if (sel == 0) {	  erro += "selecione algum contato da lista !";   }   sel = 0;   i = 0;   if (erro == "") {	  return true;   } else {	  erro = "Antes de excluir " +erro +"";	  alert(erro);	  return false;   }}

O que esta falando ai é fazer ele pegar o valor dos campos checkbox e passar no window.open (valordoscheckboxes), acho que da para fazer com um for mas ainda não descobri como, se alguém puder me ajudar.

 

O nome do campo checkbox é im

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xavier,Utiliza o document.getElementsByTagName('input'), esse comando vai retornar todos os elementos input do seu form em um ARRAY, depois você faz um FOR, de 0 até o LENGTH do ARRAY e testa se o TYPE do elemento é igual a CHECKBOX, se for você verifica a propriedade CHECKED.OK...!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá vagner, pelo que pude perceber é mais ou menos isto que ele faz na função ChecarGrupo(), agora minha dúvida é como fazer para ele pegar o valor dos checkbox tipo 1,7,15,74,80,14, porque ele monta se o grupo for selecionado o sel é igual a 1 senão sel = 0, como fazer se grupo for selecionado no caso sel = 1 e armazenar os valores?Até, Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpae Xavier, viajei... nem olhei o código direito só a dúvida.

 

Pra pegar o valor é só colocar: grupo.value

 

 

Ele vai retonar o valor que foi definido no VALUE do elemento HTML.

 

Ex:

<script>  	function teste(){		c = document.getElementById('c1');				if (c.checked) alert(c.value);	}</script> <input type=checkbox id=c1 value="forum" /><input type=button onclick=teste(); />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá vagner, valeu pela dica, porém, não sei se não consegui colocar ou o que esta acontecendo que ele retorna vazio mesmo tendo selecionado os checkbox. Uma dúvida, se eu colocar o grupo.value no window.open ele vai trazer o valor?

 

Testei também colocando alert(grupo.value) logo abaixo da linha:

 

if (erro == "") {

return true;

alert(grupo.value)

} else {

 

Mas também retornou nulo, vazio no alerta, o que pode ser ?

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os CHECBOX, do seu FORM tem VALUE como o exemplo que eu passei?Cria um arquivo novo e testa esse código que está no meu POST. Quando você selecionar o CHECKBOX e clicar no botão ele vai exibir um ALERT com o valor atribuido ao CHECKBOX.Depois, você tenta relacionar o código do POST com o seu e verifica se ele tem todas as varíaveis que estão sendo manipuladas.

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.