Ver Mensaje Individual
  #14 (permalink)  
Antiguo 18/08/2008, 07:54
Avatar de chiquirf
chiquirf
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 6 meses
Puntos: 3
Respuesta: No funciona en IE6, HELP!!!!!

Hola a todos,

Había creado otro post más limpio que este, pero me dijeron que continúe aquí, así que aquí va.
-------------------------------------------------------------

He logrado encontrar la zona que crea fallo, está en una función de Validarfecha() que da error en una url que no llama en ningún momento a esa funcion.

La función está en un fichero externo llamado codigojs.js y es la siguiente:

Código PHP:
// Valida una fecha en formato dd/mm/aaaa 

function ValidarFecha(Cadena){ 
    var 
Fecha = new String(Cadena);    // Crea un string 
    
var RealFecha = new Date();    // Para sacar la fecha de hoy     
    // Cadena Año 
    
var RealAno RealFecha.getYear(); 
    var 
Mayor RealAno 10
    var 
Ano = new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length)); 
    
// Cadena Mes 
    
var Mes = new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));     
    
// Cadena Día 
    
var Dia = new String(Fecha.substring(0,Fecha.indexOf("/"))); 

    
// Valido el Dia 
    
if ( Dia == "" || isNaN(Dia) || parseFloat(Dia)<|| parseFloat(Dia)>31){ 
            
//alert('Día inválido 1'); 
            //alert(parseFloat(Dia)); 
            
return false
    } 
     
    if (
Mes==|| Mes==|| Mes==|| Mes==11 || Mes==2) { 
        if (
Mes==&& Dia 28 || Dia>30) { 
            
//alert('Día inválido 2'); 
            
return false
        } 
    } 
    
// Valido el Mes 
    
if ( Mes == "" || isNaN(Mes) || parseFloat(Mes)<|| parseFloat(Mes)>12){ 
        
//alert('Mes inválido'); 
        
return false
    } 
    
// Valido el año 
    
if (isNaN(Ano) || Ano.length<|| parseFloat(Ano)<1900 || parseFloat(Ano)>Mayor){ 
        
//alert('Año inválido'); 
        
return false
    } 
     
     
// Valido el separador 
    
if (Fecha.indexOf("/") == Fecha.lastIndexOf("/")){  //esta es la linea 582 del codigojs.js 
        
return false
    } 
     

Esta función la utilizo en reservas2.php al validar un formulario, pero me está dando error en reservas1.php

El error es el siguiente:

Código:
Línea: 582
Car: 3
Error: La instrucción 'return' está fuera de una función
Código: 0
URL: http://www.sai-es.com/extranet/sha/reservas1.php

Los códigos completos de los ficheros en cuestión están guardados en estos .txt

reservas1.php -> reservas1.txt

codigojs.js -> codigojs.js.txt

Al comentar TODO el if de "valida separador" (cerca a la linea 582), me aparece un mensaje de error de sintaxis:


Código:
Línea: 585
Car: 1
Error: Error de sintaxis
Código: 0
URL: http://www.sai-es.com/extranet/sha/reservas1.php
Así que como verán no tengo ni idea de que puede estar fallando, he revisado si me falta un ";", o "}" , o ")" pero nada.

Seguiré revisando, pero si alguien encuentra algún error antes, bienvenido sea...

Saludos