Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/04/2009, 15:54
Avatar de TonyChile
TonyChile
 
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 10 meses
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