Foros del Web » Programando para Internet » Javascript »

calculos en javascript no funcionan en ie7

Estas en el tema de calculos en javascript no funcionan en ie7 en el foro de Javascript en Foros del Web. hola estoy generardo un pequeño codigo que realiza un calculo de dias estre fechas , en mozilla , chrome, opera todo anda ok pero en ...
  #1 (permalink)  
Antiguo 14/09/2010, 09:46
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación calculos en javascript no funcionan en ie7

hola estoy generardo un pequeño codigo que realiza un calculo de dias estre fechas , en mozilla , chrome, opera todo anda ok pero en IE7 no realiza los calculos , baje una clase de un api de google que supuestamente mejora la interpretacion de los codigos javascript por parte de IE,pero nada

uso la libreria de popcalendar para los calendarios emergentes


Código PHP:
<html>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>mi pagina</title>

<head>
<script language="javascript" src="popcalendar.js"></script> 
<script language="javascript" src="js/ie7.js"></script> 
<link  href="css/css_informe.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="img/ico.ico"/>

<script type="text/javascript" >


function normal(tipo)
{
var fecha1= document.form1.fecha1.value;
var dia1= fecha1.substr(0,2);
var mes1= fecha1.substr(3,2);
var anyo1= fecha1.substr(6);

var fecha2= document.form1.fecha2.value;
var dia2= fecha2.substr(0,2);
var mes2= fecha2.substr(3,2);
var anyo2= fecha2.substr(6);

var nuevafecha1= new Date(anyo1+","+mes1+","+dia1);
var nuevafecha2= new Date(anyo2+","+mes2+","+dia2);

var Dif= nuevafecha2.getTime() - nuevafecha1.getTime();
var dias= Math.floor(Dif/(1000*24*60*60));
alert(dias);


switch(tipo)
    {
        case 'A': res =((dias)+362);
                  break;

        case 'S': res = (dias)+180;
                     break;

        case 'T': res = (dias)+89;
                  break;
                  
        case 'M': res = (dias)+31;
                  break;
    }
     //document.a.difDMA.value = String(nAno) + " años, " + String(nMes) + " meses, " + String(nDia) + " días";
     //document.a.difDM.value = String(nTtM) + " meses, " + String(nDia) + " días";
     document.form1.R.value = res + " Dias";
 


}



function especial(tipo)
{
    
var fecha0=document.form2.fecha3.value;
var dia0= fecha0.substr(0,2);
var mes0= fecha0.substr(3,2);
var anyo0= fecha0.substr(6);    
    
var fecha1=document.form2.fecha4.value;
var dia1= fecha1.substr(0,2);
var mes1= fecha1.substr(3,2);
var anyo1= fecha1.substr(6);

var fecha2= document.form2.fecha5.value;
var dia2= fecha2.substr(0,2);
var mes2= fecha2.substr(3,2);
var anyo2= fecha2.substr(6);

var nuevafecha0= new Date(anyo0+","+mes0+","+dia0);
var nuevafecha1= new Date(anyo1+","+mes1+","+dia1);
var nuevafecha2= new Date(anyo2+","+mes2+","+dia2);

var Dif1= nuevafecha2.getTime() - nuevafecha1.getTime();
var Dif2= nuevafecha1.getTime() - nuevafecha0.getTime();

var total= Math.floor(Dif1/(1000*24*60*60));
var fecha_cabecera= Math.floor(Dif2/(1000*24*60*60));

alert(total);
alert(fecha_cabecera);
switch(tipo)
    {
                      
        case 'E': res2 = (total)+1;
                  res3 = (  (fecha_cabecera)+(total+1))-2;
                  break;
                  break;
    }

     document.form2.R2.value = res2 + " Dias";
     document.form2.R3.value = res3 + " Dias";

}
</script>
</head>

<body>
<br />
<div align="center">
<div  class="box1">

<table border="0" align="center" cellpadding="0" cellspacing="0"  height="80" >
<tr><td width="264" align="center"><img  src="img/logo.jpg"  border="0"/></td>
<td width="264" class="text4">FECHA CABECERAS</td>
<td width="264"></td>
</tr>
</table>
</div>
</div>
    <br />
        <?php menu_1();?>
    
  <center> 
                        <div class="box4">
                        <b>Normal</b>
                        </div>


                         <div class="box3">
                   <table width="418"  align="center" cellpadding="0" cellspacing="0">
                            <form name="form1" method="post"    onSubmit="return normal();">
                  <tr align="center">
                <td><b>Fecha de Ingreso</b></td>
                <td><b>Fecha de Inicio</b></td>
                <td><b>Dias</b></td>
                </tr>
                   <tr>
                   <td   align="center">
                               <input name="fecha1" type="text" id="fecha1" onClick="popUpCalendar(this, form1.fecha1, 'dd/mm/yyyy');" size="10">                                                            </td>
                <td   align="center">
                               <input name="fecha2" type="text" id="fecha2" onClick="popUpCalendar(this, form1.fecha2, 'dd/mm/yyyy');" size="10">                                        </td>
                <td   align="center">
                            <input name="R" id="R"  size="5" disabled />
                </td>
                </tr>
                <tr>
                <td  colspan="2" align="center">
                             <input type="button" name="ANUAL" value="ANUAL" onClick="normal('A')" class="boton2">
                             <input type="button" name="SEMESTRAL" value="SEMESTRAL" onClick="normal('S')" class="boton2"><br />
                               <input type="button" name="TRIMESTRAL" value="TRIMESTRAL" onClick="normal('T')" class="boton2">
                             <input type="button" name="MENSUAL" value="MENSUAL" onClick="normal('M')" class="boton2">
                </td>
                <td  align="center">
                            <input type="reset" value="BORRAR" name="BORRAR" class="boton">
                </td>
                </tr>
                               </form>
                </table>     
                                            </div>
   
                                            <div class="box4">
                                            <b>Especial</b>
                                            </div>  
                                            <div class="box3">   
                   <table width="418"  align="center" cellpadding="0" cellspacing="0">  
                               <form name="form2" method="post"   onSubmit="return especial();">
                <tr align="center">
                <td><b>Fecha de Ingreso</b></td>
                <td><b>Fecha de Inicio</b></td>
                <td><b>Fecha de Termino</b></td>
                <td><b>Total Dias</b></td>
                <td><b>Fecha Cabezera</b></td>
                </tr>
                   <tr>
                         
                 <td  align="center">
                <input name="fecha3" type="text" id="fecha3" onClick="popUpCalendar(this, form2.fecha3, 'dd/mm/yyyy');" size="10">
                   </td>
                <td  align="center">     
                   <input name="fecha4" type="text" id="fecha4" onClick="popUpCalendar(this, form2.fecha4, 'dd/mm/yyyy');" size="10">            </td>
                <td  align="center">     
                   <input name="fecha5" type="text" id="fecha5" onClick="popUpCalendar(this, form2.fecha5, 'dd/mm/yyyy');" size="10">            </td>
                <td   align="center">
                            <input name="R2" id="R2"  size="5" disabled />
                </td>
                <td   align="center">
                            <input name="R3" id="R3"  size="5" disabled />
                </td>                         
                </tr>
                <tr>
                <td height="31"   colspan="3" align="center">
                            <input type="button" name="ESPECIAL" value="ESPECIAL" onClick="especial('E')" class="boton2">
                </td>
                <td  align="center" colspan="2">
                            <input type="reset" value="BORRAR" name="BORRAR1" class="boton">
                </td>
                </tr>
                            </form>
    </table>    
    </div>  
 </center>
</body>
</html>
de antemano gracias
  #2 (permalink)  
Antiguo 14/09/2010, 15:08
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación Respuesta: calculos en javascript no funcionan en ie7

la solucion es que dentro de las clases de javascript esta :

Código PHP:
var nuevafecha1= new Date(anyo1+","+mes1+","+dia1); 
y tiene que ser asi

Código PHP:
var nuevafecha1= new Date(anyo1+"/"+mes1+"/"+dia1); 
solucionado
  #3 (permalink)  
Antiguo 14/09/2010, 15:12
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: calculos en javascript no funcionan en ie7

Cita:
Iniciado por wladtepes Ver Mensaje
la solucion es que dentro de las clases de javascript esta :

Código PHP:
var nuevafecha1= new Date(anyo1+","+mes1+","+dia1); 
y tiene que ser asi

Código PHP:
var nuevafecha1= new Date(anyo1+"/"+mes1+"/"+dia1); 
solucionado
tambien puedes hacer

Código Javascript:
Ver original
  1. new Date(año,mes,dia);
  2. new Date(año,mes,dia,hora,mes,dia);

Etiquetas: funcionan, calculo
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 12:24.