Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2007, 16:03
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 7 meses
Puntos: 45
Re: En un input - Obligar q entren los datos hh:mm

Bueno, he visto tu post y he estado trabajando en un código, a ver si me salía. De momento sólo vale para HH:MM y no se puede modificar... pero mirare a ver si puedo hacer algo mejor:

Código PHP:
<input type="text" id="caja" />

<
script>

var 
laCaja=document.getElementById("caja");

function 
ponMascara(valueActual,mascaraTotal) {
    var 
mascara=mascaraTotal.substringvalueActual.lengthmascaraTotal.length );
    
laCaja.value=valueActual+mascara;
}

var 
valor="";
var 
mascaraDef="HH:MM";

laCaja.onkeypress=function(e){
    var 
codetarg;
    if (!
e) var window.event
    if (
e.targettarg e.target;
    else if (
e.srcElementtarg e.srcElement;
    
// Detecta o codigo da tecla
    
if (e.keyCodecode e.keyCode;
    else if (
e.whichcode e.which;
    var 
caracter String.fromCharCode(code);
    
//sólo dejamos colocar numeros en la caja
    
if (code 48 || code 57)        //no es un número
        
return false;
    if (
code==8) {        //es el backspace
        //borramos un caracter de valor, y si hay un ":" borramos dos
        
if(valor.length==3)        //hay colocado HH:
            
valor=valor.substring(0,1);        //dejamos H
        
else if(valor.length>0)    //si hay algo que borrar, lo borraremos
            
valor=valor.substring(0,valor.length-1);
        
ponMascara(valor,mascaraDef);
        return 
false;
    }
    else {
        if(
valor.length==2)
            
valor+=":";
        if(
valor.length<mascaraDef.length)
            
valor+=caracter;
        
ponMascara(valor,mascaraDef);
        
//y no escribimos nada en la caja
        
return false;
    }
}

ponMascara("",mascaraDef);



</script> 
Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.