Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/05/2010, 07:57
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: cómo dejo un "/" fijo n un input para fecha?

Hola

Eso que pretendes hacer se llaman mascaras. Esta que te dejo, no es exactamente lo que pretendes, pero se acerca

Código Javascript:
Ver original
  1. <html>
  2. </head>
  3. <script type="text/javascript">
  4. var patron = new Array(4,2,2)
  5. function Validar(elem,separador,pat,numerico) {
  6.     if(elem.valoranterior != elem.value) {
  7. valor = elem.value;
  8. largo = valor.length;
  9. valor = valor.split(separador);
  10. valor2 = "";
  11.  
  12.     for(i=0; i<valor.length; i++) {
  13.         valor2 += valor[i];
  14.     }
  15.  
  16.     if(numerico){
  17.         for(j=0; j<valor2.length; j++){
  18.             if(isNaN(valor2.charAt(j))){
  19.                 letra = new RegExp(valor2.charAt(j),"g");
  20.                 valor2 = valor2.replace(letra,"");
  21.             }
  22.         }
  23.     }
  24.  
  25. valor = "";
  26. valor3 = new Array();
  27.     for(n=0; n<pat.length; n++) {
  28.         valor3[n] = valor2.substring(0,pat[n]);
  29.         valor2 = valor2.substr(pat[n]);
  30.     }
  31.  
  32.     for(q=0; q<valor3.length; q++) {
  33.         if(q == 0) {
  34.             valor = valor3[q];
  35.         }else{
  36.             if(valor3[q] != "") {
  37.                 if (valor3[1] > 12 ) {
  38.                     valor = valor3[0];
  39.                 } else if (valor3[2] > 31) {
  40.                     valor = valor3[0] + separador + valor3[1];
  41.                 }else{
  42.                     valor += separador + valor3[q];
  43.                 }
  44.  
  45.             }
  46.         }
  47.     }
  48.  
  49.     elem.value = valor;
  50.     elem.valoranterior = valor;
  51.     }
  52. }
  53. </script>
  54. </head>
  55. <body>
  56. <form>
  57. <h1>Valida una fecha yyyy-mm-dd</h1>
  58. <input type="text" name="fecha" id= "fecha" onkeyup="Validar(this,'-',patron,true)" maxlength="10" />
  59. </form>
  60. </body>
  61. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />