11/06/2008, 08:47
|
| Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años Puntos: 61 | |
Respuesta: Suma de dos horas en java script El anterior fallaba. Así ya sí que no falla.
Código:
<html>
<head>
<title>Untitled</title>
<script>
function calcular(){
horatotale=new Array(0,0,0);
for(b=0;b<arguments.length-1;b++){
horas=obj(arguments[b]).value.split(":");
for(a=0;a<3;a++){
horas[a]=(isNaN(parseInt(horas[a])))?0:parseInt(horas[a])
horatotale[a]=(b==0)?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]);
obj(arguments[2]).value=horatotal.getHours()+":"+horatotal.getMinutes()+":"+horatotal.getSeconds();
}
function obj(x){
y= document.getElementById(x);
return y;
}
</script>
</head>
<body>
<form action="#" onsubmit="calcular(this);return false">
<input type="text" name="hora1" id="hora1" onblur="calcular('hora1','hora2','horatotal')" /> -
<input type="text" name="hora2" id="hora2" onblur="calcular('hora1','hora2','horatotal')" />
= <input type="text" name="horatotal" id="horatotal" /> <input type="submit" value="calcular" />
<br />
<br />
<input type="text" name="pepe" id="pepe" onblur="calcular('pepe','juan','horatotal2')" /> -
<input type="text" name="juan" id="juan" onblur="calcular('pepe',juan,'horatotal2')" />
= <input type="text" name="horatotal2" id="horatotal2" /> <input type="submit" value="calcular" />
</form>
</body>
</html>
Ahora puedes sumar (o restar) todos los campos que quieras siempre que pongas como último argumento el id del campo en el que quieras que aparezca el resultado. Es decir, puedes poner calcular("campo1","campo2","campo3","campo4",...," camporesultado").
Un saludo!
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |