Ir para conteúdo

POWERED BY:

Arquivado

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

RCM

Checkbox

Recommended Posts

Boa tarde a todos(as),

Estou com o seguinte problema.

 

Tenho um formulário com checkbox criadas dinamicamente, algumas já vem marcadas e outras não, sendo um total de 500 registros. Preciso pegar somente o valor das checkbox que foram "marcadas" ou "desmarcadas". Não posso passar os 500 registros de uma vez senão dá problema.

 

Ex: O usuario entra na aplicação, seleciona 3 checkbox e desmarca outros 2, preciso pegar somente esses o valor desses 5 checkbox.

 

Como poderia fazer isso?

Já tentei vários códigos, porém só consigo passar os 500 de uma só vez.

 

 

 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script>
function validaform(f) {
cbs = 0;
for(i=0;i<f.elements.length-1;i++){
if (f.elements.type=="checkbox" && f.elements.name=="valor"){
cbs++;
}
}
resultado = ""
for(i=0;i<=cbs-1;i++){
resultado+=f.valor.checked;
if (i!=cbs-1) {
resultado+=",";
}
}
f.resultado.value = resultado
return true;
}
</script>
</head>
<body>
<form action="recebe.asp" onsubmit="return validaform(this);" method="post">
<input type="checkbox" name="valor" /><br />
<input type="checkbox" name="valor" /><br />
<input type="checkbox" name="valor" /><br />
<input type="checkbox" name="valor" /><br />
<input type="checkbox" name="valor" /><br />
<input type="checkbox" name="valor" /><br />
<input type="hidden" name="resultado" value="" />
<input type="submit" value="Enviar" />
</form>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

O problema é que você precisa saber quem veio marcado e desmarcado para depois começar a brincadeira.

Sugiro entrar na página e já armazenar estes "caras" em arrays ou objetos e depois compará-los.

Agora se você precisa saber apenas quem esta marcado ou desmarcado, independentemente da posição inicial que começaram, já muda a história e fica mais simples.

 

$(function(){
	$("#enviar").on("click",function(){
		$("input:checked").each(function() {
			console.log($(this).attr("id"));
		});
	})
})
<input type="checkbox" id="1"/>
<label>Laranja</label>
<br/>

<input type="checkbox" checked="checked" id="2"/>
<label>Pera</label>
<br/>

<input type="checkbox" id="3"/>
<label>Banana</label>
<br/>

<input type="checkbox" checked="checked" id="4"/>
<label>Mamão</label>
<br/>

<input type="checkbox" id="5"/>
<label>Maçã</label>
<br/>

<input type="checkbox" checked="checked" id="6"/>
<label>Uva</label>

<br/>

<input type="button" id="enviar" value="Enviar"/>

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Pegar o que está marcado não é problema.

Imagina, o formulário é gerado, uns já vem marcado e outros vazios.

Se o usuário não fizer nada e clicar no submit, não é mandado nada.

Se usuário marcar 3 checkbox e desmarcar 2, preciso saber quais são esses que foram ativados/desativados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, se alguns já vem selecionados, é ilogico enviar zero checks marcados certo?

Estou dizendo em caso de nada ser modificado.

Resumindo, você quer saber quando o formulário for enviado (por exemplo), quem está marcado e quem não esta separadamente, seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz,

Aqui onde eu trabalho é ASP e Cobol, então as coisas são um poucos "Ilógicas" mesmo.

São 500 Registros, eu consigo enviar os campos que estão marcados e os que não estão marcados também (True, False).

Porém, se eu enviar os 500 de uma vez, o cobol trava, então por isso que queria algo que só mandasse os campos marcados/desmarcados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que eu não esteja lhe entendendo, mas veja, temos o elemento input do tipo check, ou ele esta marcado ou desmarcado, portanto se você quer isso:

 

"então por isso que queria algo que só mandasse os campos marcados/desmarcados."

 

Concluo que você quer todos os campos, porque ou eles estão marcados ou não, só existe estas duas formas para o campo tipo checkbox.

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.