Foros del Web » Programando para Internet » Javascript »

Fecha en Javascript

Estas en el tema de Fecha en Javascript en el foro de Javascript en Foros del Web. Hola amigos necesito una ayuda, tengo el siguiente codigo de javascript que baje por internet para insertar dos fechas y enviarlas por el metodo post ...
  #1 (permalink)  
Antiguo 22/09/2008, 08:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Fecha en Javascript

Hola amigos necesito una ayuda, tengo el siguiente codigo de javascript que baje por internet para insertar dos fechas y enviarlas por el metodo post , mi problema es que no me funciona bien por que escojo el mes de febrero y en todos los años me sale 29 días y solo deberia salir en los años bisiestos; No sé mucho de javascript pero estuve analizando el codigo y no encuentro cual es el problema, por ayudenme a encontrarlo, este es el codigo:

Código:
Código HTML:
<html>
<head>
<title>Adquisiciones de Metodologia de la Investigación</title>
<script language="JavaScript">
var a="Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28";
var b="Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29";
var c="Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30";
var d="Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31";
var e="Mes,01,02,03,04,05,06,07,08,09,10,11,12";
var f="Año,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013";

var mydate=new Date();
var year=mydate.getFullYear();        // full en vez de normal, el normal está en desuso
var dia=getDay();
var mes=getMonth();
if (dia<10){dia="0"+dia;}
if (mes<10){mes="0"+mes;}
//if (year < 1000){year+=1900;}
    
function addOpt(oCtrl, iPs, sTt, sVl){
    var sOpcion=new Option(sTt, sVl);
    oCtrl.options[iPs]=sOpcion;
    return sOpcion;
}

function esBisiesto(nAno){
    var bRes = true;
    res = bRes && (nAno % 4 == 0);
    res = bRes && (nAno % 100 != 0);
    res = bRes || (nAno % 400 == 0);
    return bRes;
} 
   function inicializar(){
   
     ele = esBisiesto(year) ? b : a;
    ele=ele.split(",");
    oCtrl=document.getElementById('days1');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], ele[i]);
        if(ele[i]==dia){nueva_opcion.selected = true;}
    }
   
    //meses
    ele=e.split(",");
    oCtrl=document.getElementById('months1');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], i);
        if( (i-1)==mes ){nueva_opcion.selected = true;}
    }
   	 ele=f.split(",");
    oCtrl=document.getElementById('years1');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], ele[i]);
        if(ele[i]==year){nueva_opcion.selected = true;}
    }
	
  	 ele = esBisiesto(year) ? b : a;
    ele=ele.split(",");
    oCtrl=document.getElementById('days');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], ele[i]);
        if(ele[i]==dia){nueva_opcion.selected = true;}
    }
   
    //meses
    ele=e.split(",");
    oCtrl=document.getElementById('months');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], i);
        if( (i-1)==mes ){nueva_opcion.selected = true;}
    }
   	 ele=f.split(",");
    oCtrl=document.getElementById('years');
    while (oCtrl.length) oCtrl.remove(0);
    for (var i=0;i<ele.length;i++){
        var nueva_opcion = addOpt(oCtrl,  i, ele[i], ele[i]);
        if(ele[i]==year){nueva_opcion.selected = true;}
    }
	
}

function Cambia(oCtrl) {
    var qmes, i=document.getElementById('months').selectedIndex;
    switch (i) {
        case 1: case 3:    case 5:    case 7:    case 8:    case 10: case 12: qmes=d; break;
        case 4: case 6:    case 9:    case 11: qmes=c; break;
        case 2: qmes=esBisiesto(year)? b : a; break;
        default: qmes=false;
    }
    if( qmes ) {
        while (oCtrl.length) oCtrl.remove(0);
        ele=qmes.split(",");
        for(i=0;i<ele.length;i++) {
           addOpt(oCtrl,  i, ele[i], ele[i]);
        }
    }
}
function Cambia1(oCtrl) {
    var qmes, i=document.getElementById('months1').selectedIndex;
    switch (i) {
        case 1: case 3:    case 5:    case 7:    case 8:    case 10: case 12: qmes=d; break;
        case 4: case 6:    case 9:    case 11: qmes=c; break;
        case 2: qmes=esBisiesto(year)? b : a; break;
        default: qmes=false;
    }
    if( qmes ) {
        while (oCtrl.length) oCtrl.remove(0);
        ele=qmes.split(",");
        for(i=0;i<ele.length;i++) {
           addOpt(oCtrl,  i, ele[i], ele[i]);
        }
    }
}  
function poner(a,eta,ete,eto){
ja=document.getElementById(a);
jb=document.getElementById(eta);
jc=document.getElementById(ete);
jd=document.getElementById(eto);
switch(a){
    case "id6":        {
                    if (jc.value <7)
                        {ja.value=jb.value+"01";}
                    else{
                        if (jc.value <13)
                            {ja.value=jb.value+"02";}
                        }
//                    alert(ja.value);
                    break;}
    case "dates":    {ja.value=jb.value+"/"+jc.value+"/"+jd.value;
//                    alert(ja.value);
                    break;}
}}
function poner1(a,eta,ete,eto){
ja=document.getElementById(a);
jb=document.getElementById(eta);
jc=document.getElementById(ete);
jd=document.getElementById(eto);
switch(a){
    case "id61":        {
                    if (jc.value <7)
                        {ja.value=jb.value+"01";}
                    else{
                        if (jc.value <13)
                            {ja.value=jb.value+"02";}
                        }
//                    alert(ja.value);
                    break;}
    case "dates1":    {ja.value=jb.value+"/"+jc.value+"/"+jd.value;
//                    alert(ja.value);
                    break;}
}}
function validacion()
{
   x = document.getElementById("months").selectedIndex;
   y = document.getElementById("days").selectedIndex;
   if(x==0 || y==0){
      alert('Porfavor seleccione la fecha');
	  return false;
   }
   
   w = document.getElementById("months1").selectedIndex;
   z = document.getElementById("days1").selectedIndex;
   if(w==0 || z==0){
      alert('Porfavor seleccione la fecha');
	  return false;
   }
   
   
  
}

</script>
</head>
<body>

<fieldset style="width:800" align="center">
<br>
<br>
<script type="text/javascript">document.onload=setTimeout("inicializar()", 0000);</script>
                       <table border='0' align="center">
                       <form action='adq_metodologia.php' method='post' onSubmit="return validacion()">
					   <tr ><td colspan="11" align="center"><h2>Adquisiciones de Metodología</h2></td></tr>
					   <tr><td><p class="texto">Ingrese fecha :</p></td><td><select id="years" name="years" class="CLASE" ></select></td><td>					   
                        <select id="months" name="months"  class="CLASE" onBlur="poner('id6','years','months',0)" onChange="Cambia(document.getElementById('days'))" ></select></td>
						                      <td><select id="days" name="days" class="CLASE" onChange="poner('dates','years','months','days')"></select></td><td><p class="texto">hasta</p></td>
						<td><select id="years1" name="years1" class="CLASE"></select></td><td>
                        <select id="months1" name="months1"  class="CLASE" onBlur="poner1('id61','years1','months1',0)" onChange="Cambia1(document.getElementById('days1'))"></select></td>
                        <td><select id="days1" name="days1"  class="CLASE" onChange="poner1('dates1','years1','months1','days1')"></select></td>
<th><input   id="dates1" name="dates1" type="hidden"  /></th>
<th><input   id="dates" name="dates" type="hidden"  /></th>
<td><input   type="submit" value="consultar" class="CLASE" /></td></tr>
</form>
</table>
</body>
</html> 
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 22:05.