Foros del Web » Programando para Internet » Javascript »

Ingresar fecha en textbox

Estas en el tema de Ingresar fecha en textbox en el foro de Javascript en Foros del Web. Hola gente del foro, tengo una consulta, en mi formulario tengo una caja de texto donde voy a insertar una fecha (formato de la fecha ...
  #1 (permalink)  
Antiguo 13/04/2009, 13:40
Avatar de jsr_17_7  
Fecha de Ingreso: febrero-2009
Ubicación: Lima
Mensajes: 105
Antigüedad: 15 años, 3 meses
Puntos: 0
Ingresar fecha en textbox

Hola gente del foro,
tengo una consulta, en mi formulario tengo una caja de texto donde voy a insertar una fecha (formato de la fecha dd/mm/aaaa) lo que quiero hacer es crear un JavaScript en donde yo despues de que ingrese en mi caja de texto el dia ( dd ) me aparesca la barra ( / ) de igual forma despues del mes ( mm ). Resultado ( 13/04/2009 ) las barras deben aparecer automaticamente despues de ingresar el dia y luego despues de ingresar el mes...
La pagina lo hago en JAVA
  #2 (permalink)  
Antiguo 13/04/2009, 15:54
Avatar de TonyChile  
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Ingresar fecha en textbox

Mira yo tengo esto claro te obliga a insertar tu el (- o /) pero resulta y facil no si si te servira

Código asp:
Ver original
  1. <script language="JavaScript">
  2.  
  3.    function esDigito(sChr){
  4.     var sCod = sChr.charCodeAt(0);
  5.     return ((sCod > 47) && (sCod < 58));
  6.    }
  7.  
  8.    function valSep(oTxt){
  9.     var bOk = false;
  10.     var sep1 = oTxt.value.charAt(2);
  11.     var sep2 = oTxt.value.charAt(5);
  12.     bOk = bOk || ((sep1 == "-") && (sep2 == "-"));
  13.     bOk = bOk || ((sep1 == "/") && (sep2 == "/"));
  14.     return bOk;
  15.    }
  16.  
  17.    function finMes(oTxt){
  18.     var nMes = parseInt(oTxt.value.substr(3, 2), 10);
  19.     var nAno = parseInt(oTxt.value.substr(6), 10);
  20.     var nRes = 0;
  21.     switch (nMes){
  22.      case 1: nRes = 31; break;
  23.      case 2: nRes = 28; break;
  24.      case 3: nRes = 31; break;
  25.      case 4: nRes = 30; break;
  26.      case 5: nRes = 31; break;
  27.      case 6: nRes = 30; break;
  28.      case 7: nRes = 31; break;
  29.      case 8: nRes = 31; break;
  30.      case 9: nRes = 30; break;
  31.      case 10: nRes = 31; break;
  32.      case 11: nRes = 30; break;
  33.      case 12: nRes = 31; break;
  34.     }
  35.     return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
  36.    }
  37.  
  38.    function valDia(oTxt){
  39.     var bOk = false;
  40.     var nDia = parseInt(oTxt.value.substr(0, 2), 10);
  41.     bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
  42.     return bOk;
  43.    }
  44.  
  45.    function valMes(oTxt){
  46.     var bOk = false;
  47.     var nMes = parseInt(oTxt.value.substr(3, 2), 10);
  48.     bOk = bOk || ((nMes >= 1) && (nMes <= 12));
  49.     return bOk;
  50.    }
  51.  
  52.    function valAno(oTxt){
  53.     var bOk = true;
  54.     var nAno = oTxt.value.substr(6);
  55.     bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
  56.     if (bOk){
  57.      for (var i = 0; i < nAno.length; i++){
  58.       bOk = bOk && esDigito(nAno.charAt(i));
  59.      }
  60.     }
  61.     return bOk;
  62.    }
  63.  
  64.    function valFecha(oTxt){
  65.     var bOk = true;
  66.     if (oTxt.value != ""){
  67.      bOk = bOk && (valAno(oTxt));
  68.      bOk = bOk && (valMes(oTxt));
  69.      bOk = bOk && (valDia(oTxt));
  70.      bOk = bOk && (valSep(oTxt));
  71.      if (!bOk){
  72.       alert("Fecha invalida");
  73.       oTxt.value = "";
  74.       oTxt.focus();
  75.      }
  76.     }
  77.    }
  78.    
  79.   </script>

despues lo llamo dentro del formulario que tengo al momento de pasar con el tabulador

Código asp:
Ver original
  1. <tr>
  2.       <td width="38%" nowrap class="Estilo7">Fecha:</td>
  3.       <td colspan="2">
  4.            <input name="text8" size="25" maxlength="10" onChange="valFecha(document.Form1.text8)"><BR>    
  5.       </td>
  6.   </tr>

Espero que te sirva q estes bien
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 02:16.