JavaScript - Suma y resta de una cantidad de la BD

 
Vista:

Suma y resta de una cantidad de la BD

Publicado por isaac mendoza (1 intervención) el 10/07/2011 15:11:31
Hola que tal,bien, pues tengo un formulario que contiene 12 chackbox y cada uno tiene el valor de 8.3333333333333333333333333333333 y un input tipo text con el id=total en el cual me va mostrando la cantidad que llevo si es que los activo o desactivo ; cuando se activan todos los chackbox me da un total de "100" pero puedo no activar todos y que solo llegue a "50" y asi guardarlos a la base de datos (los chackbox como "1" o "0") y la cantidad que sume.

y eso lo hago con esta funcion:

<script type="text/javascript">
var total=0;
function sumar(valor) {
total += valor;
document.formulario.total.value=total;
}
function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}
</script>

... estos algunos checkbox:

<input name="checkbox1" id="checkbox1" type="checkbox" <?php echo $check1 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> 1.Formato

<input type="checkbox" id="checkbox2" value="2" name="checkbox2" <?php echo $check2 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> 2.Ante

.... y asi hasta los 12...

Pero a la hora de querer modificar (ir activando los checkbox que faltaron para llegar a "100")

trate de esta forma:

<script type="text/javascript">
var total=document.getElementById("total").value;
function sumar(valor) {
total += valor;
document.formulario.total.value=total;
}
function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}
</script>

pero a la hora de activar los que siguen me sale esto en el input text: NaN

y he tratado con esta otra:

<script type="text/javascript">
var total = 0;
function comprobarChecks()
{
var checks = document.getElementsByTagName("input"); //recojo todos los input
for(i=0;i<checks.length;i++)
{
if(checks.type=="checkbox") //solo contemplo los de tipo checkbox
{
if(checks.checked) //si esta checkado agrego a total su valor
total += parseFloat(checks.value);
}
}
}
</script>

Pero nada de nada. este es mi input: <input type=text name=total id="total" value="<?php echo $fila_campos['porciento_avances']?>">
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder