Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/05/2006, 10:53
fermdp
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 24 años, 10 meses
Puntos: 0
Si, pues la aplicacion que tengo que lograr es la siguiente tres campos de texto, en los dos primeros, se ingresan valores del tipo 00:01:14 (Es decir valores de horas, minutos y segundos unicamente, si ponen 00:62:72 Avisaria de la no valides del dato pues no son horas validas y en el tercer campo si campo1 es menor que campo2 mostraria el resultado de la operacion sin tener que usar boton alguno pues es parte de un form que ademas pide mas datos... seria algo parecido a esto...

Campo1: 01:34:21
Campo2: 01:36:28
Campo3: 00:02:07

Es decir una "calculadora" de tiempo a medida que el usuario ingresa los datos pero que tenga la mascara ":" y agrege los ceros para que el usuario solo entre "13421" y quede 01:34:21

El Scrip de la operacion matematica lo tengo pero no se como aplicarle el scrip tuyo de la mascara ":" y tampoco se como hacer para completarlo con ceros si Campo1 no los tubiera.
Espero haberme expresado bien. Nuevamente reitero las gracias por ayudarme tamto y principalmente quiero con este scrip que necesito aprender algo mas para entender y disfrutar del poder de javascrip. Mirando tus ejemplo aprendi y comprendo algo dell codigo y eso me entusiasma !!! Eres muy amable !!!

Todo esto lo estoy tratando de hacer usando, modificando y liando con tu scrip y en el siguiente:

Código PHP:
<html><head><script language="JavaScript"> 

   function 
padNmb(nStr, nLen){ 
    var 
sRes = String(nStr); 
    var 
sCeros = "0000000000"; 
    return 
sCeros.substr(0, nLen - sRes.length) + sRes; 
   } 

   function 
stringToSeconds(tiempo){ 
    var 
sep1 = tiempo.indexOf(":"); 
    var 
sep2 = tiempo.lastIndexOf(":"); 
    var 
hor = tiempo.substr(0, sep1); 
    var 
min = tiempo.substr(sep1 + 1, sep2 - sep1 - 1); 
    var 
sec = tiempo.substr(sep2 + 1); 
    return (
Number(sec) + (Number(min) * 60) + (Number(hor) * 3600)); 
   } 

   function 
secondsToTime(secs){ 
    var 
hor = Math.floor(secs / 3600); 
    var 
min = Math.floor((secs - (hor * 3600)) / 60); 
    var 
sec = secs - (hor * 3600) - (min * 60); 
    return 
padNmb(hor, 2) + ":" + padNmb(min, 2) + ":" + padNmb(sec, 2); 
   } 

   function 
substractTimes(t1, t2){ 
    var 
secs1 = stringToSeconds(t1); 
    var 
secs2 = stringToSeconds(t2); 
    var 
secsDif = secs1 - secs2; 
    return 
secondsToTime(secsDif); 
   } 

   function 
calcT3(){ 
    
with (document.frm) 
     
t3.value = substractTimes(t2.value, t1.value); 
   } 

  
</script> 
 </head> 
 <body onLoad="calcT3();"> 
  <form name="frm"> 
   Hora1 (hh:mm:ss): <input name="t1" type="text" onChange="calcT3()" onClick="calcT3()" value="00:00:00" maxlength="8"><br> 
   Hora2 (hh:mm:ss): <input name="t2" type="text" onChange="calcT3()" onClick="calcT3()" value="00:00:00" maxlength="8"><br> 
   <hr> 
   Resta (hh:mm:ss): <input type="text" onClick="calcT3()" onFocus="calcT3()" name="t3" value="" maxlength="8" disabled><br><br>
</form></body> </html> 
__________________
:) Fernando Dichiera (:
[email protected]

Última edición por fermdp; 23/05/2006 a las 11:05