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>