elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Funcion para validar formulario en Firefox no funciona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion para validar formulario en Firefox no funciona  (Leído 9,350 veces)
Crash_RPM

Desconectado Desconectado

Mensajes: 164


Ver Perfil
Funcion para validar formulario en Firefox no funciona
« en: 5 Agosto 2014, 18:25 pm »

Tengo un formulario que se valida mediante una llamada a una funcion javascript a traves de onsubmit.
Una vez validado, si devuelve un true se insertan los datos en la BD a traves del action.

El tema es que todo esto funciona perfectamente en Google Chrome pero no se porque en Firefox directamente inserta en la BD sin hacer la comprobacion.

Os muestro el codigo del formulario:

Código
  1.  
  2. <form enctype="multipart/form-data" method="POST" action="insertar_bd.php" name="formulario" class="formulario" onsubmit="return validarEvento('evento');">
  3.  
  4. <?php
  5.        if($tipo == "eventos")
  6.       {?>
  7. .
  8. .Varios campos del formulario
  9. .
  10. <div class="error" id="error" style="width:600px">
  11.  
  12. </div>
  13.  
  14. <div class="error" id="error" style="width:600px">
  15.  
  16. </div>
  17.        <div id="loadingFiesta" style='display:none;'> <div style='text-align:center;padding-bottom: 2px;color:grey;font-weight:bold;'> Subiendo imágenes al servidor, espere un momento</div> <div style='text-align:center;'> <img src='img/diseno/generales/loading2.gif' alt='loading' style='margin-top:2px;text-align:center;' /></div></div>
  18.        <input type="hidden" value="eventos" id="tipo" name="tipo" />
  19.        <input type="submit" value="Enviar" id="bEvento" class="button"  />
  20.  
  21.        <?php
  22. }
  23.    else{
  24.  
  25.    }?>
  26.  
  27.    <?php
  28.    //Por si venimos de un error
  29.    if(isset($_POST['error']))
  30.                echo "<br/><br/><p style='color:brown'> $error; </p>";
  31.  
  32.            ?>
  33.        </form>
  34.  

La funcion de validarEvento es esta:

Código
  1.  
  2. function validarEvento(tipo)
  3. {
  4.    var valido = true;
  5.    var error = "";
  6.  
  7.    if(tipo != 'fotos')
  8.    {
  9.        if(document.formulario.titulo.value ==  '')
  10.        {
  11.            error = error + "* Error, introduzca el nombre o descripción del evento <br/>";
  12.            valido =  false;
  13.        }
  14.  
  15.  
  16.    //validar fecha
  17.    var f = new Date()
  18.    var año = f.getFullYear();
  19.    var mes = f.getMonth()+1;
  20.    var dia = f.getDate();
  21.    if(document.formulario.dia.value == '0' || document.formulario.año.value == '0' || document.formulario.mes.value == '0')
  22.    {
  23.        error = error + "* Error, introduzca una fecha correcta. <br/>";
  24.        valido =  false;
  25.    }
  26.    else if(tipo == 'evento')
  27.    {
  28.        var aux = document.formulario;
  29.        aceptado = true;
  30.        if(aux.año.value > año)
  31.            aceptado = false;
  32.        else if(aux.año.value == año)
  33.        {
  34.            if(aux.mes.value > mes)
  35.                aceptado = false;
  36.            else if(aux.mes.value == mes)
  37.            {
  38.                if(aux.dia.value > dia)
  39.                    aceptado = false;
  40.            }
  41.        }
  42.        if(aceptado == false)
  43.        {
  44.            error = error + "* Fecha errónea. Si quiere insertar un evento futuro vaya a la sección de Próximos Eventos, en caso contrario introduzca una fecha anterior  a la actual.. <br/>";
  45.            valido =  false;
  46.        }
  47.    }
  48.    else
  49.    {
  50.        var aux = document.formulario;
  51.        aceptado = true;
  52.        if(aux.año.value < año)
  53.            aceptado = false;
  54.        else if(aux.año.value == año)
  55.        {
  56.            if(aux.mes.value < mes)
  57.                aceptado = false;
  58.            else if(aux.mes.value == mes)
  59.            {
  60.                if(aux.dia.value < dia)
  61.                    aceptado = false;
  62.            }
  63.        }
  64.        if(aceptado == false)
  65.        {
  66.            error = error + "* Error, la fecha introducida ya ha pasado. <br/>";
  67.            valido =  false;
  68.        }
  69.    }
  70. }
  71.  
  72.  
  73.    if(document.formulario.imagen.value == '')
  74.    {
  75.        error = error + "* Error, debe introducir alguna imagen <br/>";
  76.        valido =  false;
  77.    }
  78.  
  79.  
  80.  
  81.  
  82.    if(document.getElementById("tipo2") != 'prox' && document.getElementById("lbl_imagen2") != null)
  83.    {
  84.        //Verifica si hay 2 imagenes con el mismo nombre
  85.        if(document.getElementById("lbl_imagen2").style.display == "block"  && document.getElementById("imagen2").value != "")
  86.        {
  87.            var tam = 2;
  88.             for(tam = 2; document.getElementById("lbl_imagen"+tam).style.display == "block" && document.getElementById("imagen"+tam).value != "";tam++);
  89.  
  90.  
  91.            if(document.formulario.imagen.value == document.getElementById("imagen2").value)
  92.            {
  93.                error = error + "* Error al insertar imágenes, hay 2  con el mismo nombre <br/>";
  94.                valido =  false;
  95.                flag = true;
  96.            }
  97.            else
  98.            {
  99.                var flag = false;
  100.                for(i=2;i<tam && flag == false;i++)
  101.                {
  102.                    if(document.formulario.imagen.value == document.getElementById("imagen"+i).value)
  103.                    {
  104.                        error = error + "* Error al insertar imágenes, hay 2 con el mismo nombre <br/>";
  105.                        valido =  false;
  106.                        flag = true;
  107.                    }
  108.                    for(j=i+1;j<=tam && flag == false;j++)
  109.                    {
  110.  
  111.  
  112.                        if(document.formulario.imagen.value == document.getElementById("imagen"+j).value)
  113.                        {
  114.                            error = error + "* Error al insertar imágenes, hay 2  con el mismo nombre <br/>";
  115.                            valido =  false;
  116.                            flag = true
  117.                        }
  118.                        else if(document.getElementById("imagen"+i).value == document.getElementById("imagen"+j).value)
  119.                        {
  120.                            error = error + "* Error al insertar imágenes, hay 2 con el mismo nombre <br/>";
  121.                            valido =  false;
  122.                            flag = true
  123.                        }
  124.                    }
  125.                }
  126.            }
  127.        }
  128.    }
  129.  
  130.  


« Última modificación: 26 Agosto 2014, 18:15 pm por #!drvy » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #1 en: 5 Agosto 2014, 21:51 pm »

¿No te tira ningún error la consola de Firefox?


En línea

Crash_RPM

Desconectado Desconectado

Mensajes: 164


Ver Perfil
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #2 en: 8 Agosto 2014, 16:38 pm »

¿No te tira ningún error la consola de Firefox?

Nunca habia utilizado la consola, estos son los mensajes que me dan al insertar desde el formulario.

Código:
ReferenceError: validarEvento is not defined eventos:1
SyntaxError: illegal character funciones.js:80
La codificación de caracteres del documento HTML no ha sido declarada. El documento se mostrará con texto "basura" en algunas configuraciones de navegador si el documento contiene caracteres externos al rango US-ASCII. La codificación de caracteres de la página debe ser declarada en el documento o en el protocolo de transferencia. insertar_bd.php
SyntaxError: invalid range in character class funciones.js:337
Cadena vacía pasada a getElementById(). redirigir.php:63
El uso de getAttributeNodeNS() está desaprobado. Use en su lugar getAttributeNS(). overlay.js:477
El uso de getAttributeNodeNS() está desaprobado. Use en su lugar getAttributeNS(). overlay.js:477
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #3 en: 11 Agosto 2014, 18:37 pm »

Por el SyntaxError que te tira ahi, puede ser un problema de encoding, ¿Estás guardando el archivo que contiene el javascript bajo UTF-8?

Tambien declara el documento html con UTF-8 en el <head>.

Código
  1. <meta charset="UTF-8">
En línea

Crash_RPM

Desconectado Desconectado

Mensajes: 164


Ver Perfil
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #4 en: 26 Agosto 2014, 17:55 pm »

El javascript no se de que manera esta guardado, he generado uno nuevo con codificacion UTF-8 y lo he copiado todo pero sigue igual.

Tambien he revisado el html que tiene el formulario y tiene
Código
  1. <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
« Última modificación: 26 Agosto 2014, 18:16 pm por #!drvy » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #5 en: 26 Agosto 2014, 18:11 pm »

¿Esto es todo el código? Siento que el javascript está haciendo conflicto con otro archivo o no está siendo llamado correctamente.
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Funcion para validar formulario en Firefox no funciona
« Respuesta #6 en: 26 Agosto 2014, 18:14 pm »

Hola, vengo a decirte que... quites esa horrible ñ del codigo javascript..

Names should be formed from the 26 upper and lower case letters (A .. Z, a .. z), the 10 digits (0 .. 9), and _ (underbar). Avoid use of international characters because they may not read well or be understood everywhere.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
función para validar urls
PHP
Hans el Topo 1 1,936 Último mensaje 16 Diciembre 2008, 03:58 am
por WHK
funcion para validar email
Programación Visual Basic
bomba1990 2 4,752 Último mensaje 17 Julio 2009, 00:59 am
por seba123neo
Validar formulario con PHP
PHP
kodeone 6 7,111 Último mensaje 6 Febrero 2011, 05:18 am
por Castg!
Ayuda para validar datos de formulario PHP
Desarrollo Web
vaXy 0 1,832 Último mensaje 24 Diciembre 2012, 15:29 pm
por vaXy
FUNCION PARA VALIDAR EDAD
Programación C/C++
carlosabcs18 6 4,123 Último mensaje 16 Julio 2014, 22:59 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines