Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/03/2005, 18:14
Avatar de renton
renton
 
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 9 meses
Puntos: 1
Explicación:

1.Creas un campo Hidden llamado x ejemplo "txtTotal" inicializado a 0.
2.En cada checkbox pones como parametro "value" el numero que quieres que se sume y en onClick llamas a una funcion rollo "calculaTotal(this)" donde "this" se refiere al objeto en si, en este caso al checkbox clickado.
3. Declaras la funcion calculaTotal pasandole el this con el nombre por ejemplo "elCheck".
3. Haces un if. si elCheck (osea el checkbox que llama a la funcion) ha sido checkeado, que el valor de txtTotal sea igual a su valor mas el del checkbox clickado.En caso contrario,osea si lo has desactivado, que se lo reste.
4. Y voilà!, al hacer submit automaticamente se envia el campo hidden con el resultado de la suma.

Código:
Código:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<script language="javascript">
	function calculaTotales(elCheck){
		if (elCheck.checked==true) {
			frm1.txtTotales.value=parseInt(frm1.txtTotales.value)+parseInt(elCheck.value);
		}else{
			frm1.txtTotales.value=parseInt(frm1.txtTotales.value)-parseInt(elCheck.value);
		}
	}
</script>
</head>

<body>
<form name="frm1" action="pagina2.htm" method="post">
<input type="hidden" name="txtTotales" value="0">
<input type="checkbox" name="chk1" value="1" onClick="calculaTotales(this)">1
<input type="checkbox" name="chk2" value="2" onClick="calculaTotales(this)">2
<input type="checkbox" name="chk3" value="3" onClick="calculaTotales(this)">3
<input type="checkbox" name="chk4" value="4" onClick="calculaTotales(this)">4
<input type="submit" value="Envia!">

</form>

</body>
</html>
Bueno, creo que está bastante completito, eh!
Como habrás imaginado hoy staba un poco aburrido, jeje!
Venga un saludo!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"