Foros del Web » Programando para Internet » Javascript »

Resta no funciona...

Estas en el tema de Resta no funciona... en el foro de Javascript en Foros del Web. Hola amigos... recurro a ustedes en busca de su valiosa ayuda: Tengo este script que me suma bien las cantidades pero al restarlas me convierte ...
  #1 (permalink)  
Antiguo 22/06/2010, 11:58
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Pregunta Resta no funciona...

Hola amigos... recurro a ustedes en busca de su valiosa ayuda:

Tengo este script que me suma bien las cantidades pero al restarlas me convierte las cantidades a números negativos...

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript">
function agrega_resultado(campo){
	total=parseFloat(document.getElementById('HDNtotal').value);
	actual=parseFloat(campo.value);
	if(campo.checked==true){
		sum=total+actual;
	}else{
		sum=total-actual;
	}
	document.getElementById('total').innerHTML=sum;
}
</script>
</head>

<body>
<table width="450" border="1">
  <tr>
    <td width="41">Check1</td>
    <td width="393">
      <label>
        <input type="checkbox" name="CHK1" id="CHK1" onclick="agrega_resultado(this)" value="10"/>
        </label>
    </td>
  </tr>
  <tr>
    <td>Check2</td>
    <td><label>
      <input type="checkbox" name="CHK2" id="CHK2" onclick="agrega_resultado(this)" value="20"/>
    </label></td>
  </tr>
  <tr>
    <td>Check3</td>
    <td><label>
      <input type="checkbox" name="CHK3" id="CHK3" onclick="agrega_resultado(this)" value="30"/>
    </label></td>
  </tr>
  <tr>
    <td>Total:</td>
    <td>
      <input type="hidden" name="HDNtotal" id="HDNtotal" value="0"/>
      <div id="total"></div>
    </td>
  </tr>
</table>
</html> 
por qué creen que me este dando este inconveniente??

De antemano muchas gracias!
  #2 (permalink)  
Antiguo 22/06/2010, 12:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Resta no funciona...

Bueno, en la funcion siempre le pides al value a HDNtotal, pero nunca lo actualizas, o sea, siempre es cero, y bueno a la hora de restar podias validar si un numero es menor q el otro para poder restarlos al reves

prueba con esta funcion

function agrega_resultado(campo){
total=parseFloat(document.getElementById('HDNtotal ').value);
actual=parseFloat(campo.value);
var sum = 0;
if(campo.checked==true){
sum=total+actual;
}else{
sum= total>=actual ? total-actual : actual-total;
}
document.getElementById('HDNtotal').value = sum;
document.getElementById('total').innerHTML=sum;
}
  #3 (permalink)  
Antiguo 22/06/2010, 12:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Resta no funciona...

Solo cambia tu funcion por la q te puse, mira bien para qveas los cambios

Última edición por kstro21; 22/06/2010 a las 12:27 Razón: Wrong Post

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:47.