Foros del Web » Programando para Internet » Javascript »

cómo dejo un "/" fijo n un input para fecha?

Estas en el tema de cómo dejo un "/" fijo n un input para fecha? en el foro de Javascript en Foros del Web. Quisiera poder tener un input con los espacios para día, mes, año, separado por una barra "/" y que quede fija al momento de ingresar ...
  #1 (permalink)  
Antiguo 28/05/2010, 06:36
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 14 años, 8 meses
Puntos: 1
cómo dejo un "/" fijo n un input para fecha?

Quisiera poder tener un input con los espacios para día, mes, año, separado por una barra "/" y que quede fija al momento de ingresar los valores.... no sé si me explico....

Código:
<input name="textfield2" type="text" id="textfield2" value="  /  /    " size="10" maxlength="10">
sería así, pero que cuando el usuario escribe no reemplace las / sino que los números se ubiquen solos en su lugar....

¿se puede?

gracias!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 28/05/2010, 07:57
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 12 años, 5 meses
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;" />
  #3 (permalink)  
Antiguo 28/05/2010, 12:46
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: cómo dejo un "/" fijo n un input para fecha?

Gracias Adler!
Lo acabo de probar y es más o menos lo que necesito, pero no tengo idea de javascript, así que no sé si podré modificarlo exitosamente.
pruebo, y luego te cuento.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 28/05/2010, 12:52
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: cómo dejo un "/" fijo n un input para fecha?

no hay caso... cambié todos los valor3 por valor y todos los valor por valor3, pensando que correspondían a año y día respectivamente y quedaba mes en el medio, pero no funciona...
si es realmente fácil darme una indicación, lo agradezco... si no, sigo leyendo sobre javascript.

saludos!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Etiquetas: fijo, input, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:09.