Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2006, 14:56
fermdp
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 23 años, 1 mes
Puntos: 0
Modificacion de un scrip de tunait: mascara de entrada en un textarea

Generalmente ando por los foros de html y php, pero esta vez necesito una ayudita con javascript .

Tengo el siguiente code que tome de la pagina de Tunait (Gracias por todo lo que me hace aprender !!!:

Código HTML:
[CODE]<html>
<head>
<title>ejemplo</title>
</head>
<script type="text/javascript">
/**************************************************************
Máscara de entrada. Script creado por Tunait! (21/12/2004)
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.
No autorizo a distribuír el código en sitios de script sin previa autorización
Si quieres distribuírlo, por favor, contacta conmigo.
Ver condiciones de uso en http://javascript.tunait.com/
[email protected] 
****************************************************************/
var patron = new Array(2,2,2)
function mascara(d,sep,pat,nums){
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]	
	}
	if(nums){
		for(z=0;z<val2.length;z++){
			if(isNaN(val2.charAt(z))){
				letra = new RegExp(val2.charAt(z),"g")
				val2 = val2.replace(letra,"")
			}
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++){
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
				}
		}
	}
	d.value = val
	d.valant = val
	}
}
</script>
	  
<body>
<input name = "fecha" type="text" onkeyup="mascara(this,':',patron,true)" size="8" maxlength="8" />
</body>
</html>[/CODE]
Modificado un poquillo para trabajar con valores de hora (12:34:56) HH:MM:SS y funciona requeterebien !!! la funcion que quisiera agregarle es la de PRIMERO: verificar que realmente los valores sean horas y si por ejemplo se ingresa 12:67:73 indique que los minutos y segundos estan MAL y SEGUNDO: que si solo ingresan 114 o 14 me lo complete a 00:01:14 o 00:00:14. Espero me puedan ayudar u orientar. Gracias !!!
__________________
:) Fernando Dichiera (:
[email protected]