Comprobar checkboxes

Tengo una página donde hay varios valores entre ellos unas variables y unos checkbox con los nombres(check1, check2, check3, etc.).
Necesito hacer una función donde se comprueben que checkbox de la página están en "true" y me sume los valores de esos checkbox más el de una variable que se llama "total" que también esta el la página.
A ver si podéis echarme una mano.

1 Respuesta

Respuesta
1
Primero haremos una función genérica que nos regrese true o false de cualquier checkbox, le proporcionaremos el nombre de la checkbox y el nombre de la FORM donde esta; getCheckBox(chk, form)
despues para simplificarnos las cosas haremos otra funcion que nos sume los valores de X cantidad de checkboxes en este caso con nombre "check"+#(numero), y en la form llamada "forma";
SumaCheck(num)
Aquí el ejemplo:
<html><body>
<script>
var variableX = 3;
function getCheckBox(chk,form){
return (eval("document."+form+"."+chk+".checked") ? true : false);
}
function sumaCheck(num){ var suma=0;
for(i=1;i<num+1;i++) suma = suma + getCheckBox("check"+i,"forma")
return (suma);
}
</script>
<form name=forma>
<input type="checkbox" name="check1"> check 1<br>
<input type="checkbox" name="check2"> check 2<br>
<input type="checkbox" name="check3"> check 3<br>
<input type="checkbox" name="check4"> check 4<br>
<p>
<input type="button" onclick="alert(getCheckBox('check1','forma'))" value="Alerta de check1">
<input type="button" onclick="alert(getCheckBox('check1','forma'))" value="Alerta de check2">
<p>
<input type="button" onclick="alert(sumaCheck(4))" value="Alerta de suma de 4 check#.">
</form>
</body>
</HTML>
esta todo bastante explicito. si le quieres sumar una variable, pues usala asi:
var miSuma= sumaCheck(4)+variableX;
Saludos,
scriptman.
Saludo Experto:
La página que tengo no tiene ningún formulario es un body, aun así lo he corregido, pero no me suma el valor que tiene el check box que es un numero decimal(importe en euros), sino me suma 1 por checkbox.
A ver si me puedes decir como sumar el valor que contiene cada check box que puede ser(100,250, etc.)
Gracias...
Haberlo dicho antes, yo pensé que sumar el numero de check seleccionados... bien, cambiamos la función y de una ves la simplificamos, y nos queda así:
<html><body>
<script>
var variableX = 3;
function sumaCheck(num){ var suma=0;
for(i=1;i<num+1;i++){
if(document.getElementById("check"+i).checked)
suma = suma + parseFloat(document.getElementById("check"+i).value)
}
/*le podrias sumar la variableX aca:
return (suma+variableX)
*/
return (suma);
}
</script>
<form name=forma>
</form>
<input type="checkbox" value="10" id="check1"> check 1 =10 <br>
<input type="checkbox" value="250" id="check2"> check 2 =250<br>
<input type="checkbox" value="3.00" id="check3"> check 3 =3.00<br>
<input type="checkbox" value="4.50" id="check4"> check 4 =4.50<br>
<p>
<input type="button" onclick="alert(sumaCheck(4))" value="Alerta de suma de 4 check# seleccionados.">
<p>
<input type="button" onclick="alert(document.getElementById('check1').checked)" value="Alerta check1 seleccionado.">
</body>
</HTML>
Nota: se usa ID en ves de "name" para identificar a los checkbox.
Saludos,
scriptman.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas