10/06/2008, 13:50
|
| | | 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
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?? |