Ver Mensaje Individual
  #17 (permalink)  
Antiguo 11/06/2008, 08:43
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
Había un fallo. Perdona por el rapapolvo!

A ver si ahora va!
Código:
<html>
<head>
<title>Untitled</title>
<script>

function calcular(esto,campo2,destino){
	f=esto.form;
	campos=new Array(esto.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]=(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]);

	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('hora1',this,'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('pepe',this,'horatotal2')" /> 
= <input type="text" name="horatotal2" /> <input type="submit" value="calcular" />


</form>


</body>
</html>
Un saludo!
Oye gracias, este cript funciona muy bien, salvo que en Internet explored 7 me arroja un error que dice:

linea:11
Caracter 3
Error: 'f' es nulo o no es un objeto
codigo:0
direccion...............

Cuando compruevo el script la resta tarda un tanto, es decir devo poner el cursor en distintos lados para que esta se efectue.

Te pediria el favor vefiricaras, para pder recomendar el script a mas usuarios, gracias!!!!!!!!!!!!!!!!!!!