Ver Mensaje Individual
  #13 (permalink)  
Antiguo 10/06/2008, 13:50
Avatar de nes24
nes24
 
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 19 años, 5 meses
Puntos: 3
Respuesta: Suma de dos horas en java script

Cita:
Iniciado por KarlanKas Ver Mensaje

Te he adaptado la función para lo que quieres. Ahora ten en cuenta que en las llamadas a la función debes poner siempre:

calcular(this,'name_del_otro_campo'_a_sumar,'name_ del_campo_que_mostrará_el_resultadohoratotal')"

Fíjate que salvo el this, todos los argumentos tienen comillas simples.

En el ejemplo que teníamos sería:

calcular(this,'hora2','horatotal')"

Y ya está!
Código:
<html>
<head>
<title>Untitled</title>
<script>

function calcular(campo1,campo2,destino){
f=campo1.form;
campos=new Array(campo1.name,campo2);
horatotale=new Array(0,0,0);
for(b=0;b<campos.length;b++){
horas=f[campos[b]].value.split(":");
for(a=0;a<3;a++){
horas[a]=(isNaN(parseInt(horas[a])))?0:parseInt(horas[a])
horatotale[a]+=horas[a]; // Suma o resta según prefieras
}
}
horatotal=new Date()
horatotal.setHours(horatotale[0]);
horatotal.setMinutes(horatotale[1]);
horatotal.setSeconds(horatotale[2]);

f[destino].value=horatotal.getHours()+":"+horatotal.getMinutes()+":"+horatotal.getSeconds();

}
</script>
</head>

<body>
<form action="#" onsubmit="calcular(this);return false">
<input type="text" name="hora1"  onblur="calcular(this,'hora2','horatotal')" /> - 
<input type="text" name="hora2" onblur="calcular(this,'hora1','horatotal')" /> 
= <input type="text" name="horatotal" /> <input type="submit" value="calcular" />
<br />
<br />
<input type="text" name="pepe"  onblur="calcular(this,'juan','horatotal2')" /> - 
<input type="text" name="juan" onblur="calcular(this,'pepe','horatotal2')" /> 
= <input type="text" name="horatotal2" /> <input type="submit" value="calcular" />


</form>


</body>
</html>
Espero que así te sirva.

Un saludo!

oye gracias, pero como puedo hacer para que reste dos horas??