Foros del Web » Programando para Internet » Javascript »

Fallo submit form, solo con firefox

Estas en el tema de Fallo submit form, solo con firefox en el foro de Javascript en Foros del Web. Hola, tengo un problema que no sé por que es, resulta que chrome e IE, que es lo que me sorprende, IE, si... funcione bien, ...
  #1 (permalink)  
Antiguo 15/02/2011, 11:49
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Fallo submit form, solo con firefox

Hola, tengo un problema que no sé por que es, resulta que chrome e IE, que es lo que me sorprende, IE, si... funcione bien, y no haya sido el que no funcionaba de los 3, pero resulta que es firefox..

La cosa es que necesito comprobar en mi sitio web, el email y password conectándome ala BD de mi tienda prestashop, para luego darle paso al usuario si es así, mas que nada para controlar que ya es un cliente de la página que yo creé, entonces necesito enviarle a un .php este form, y obviamente lo paso con campos hidden, pero el firefox se queda en blanco y el firebug dice esto:

document.login_form is undefined.

El código php es este:


Código PHP:
if ($comprueba==1){  //usuario y contraseña válidos - hacer submit a la tienda PRESTASHOP

echo "
<form id='login_form' method='POST' action='PS/authentication.php'>
   <input type='hidden' name='email' id='email' value='".$email."'/>
   <input type='hidden' name='passwd' id='passwd' value='".$password."'/>
   <input type='hidden' id='SubmitLogin' name='SubmitLogin' class='button' />
</form>";
  
?>    
        <script> 
        function envia() {
            document.login_form.submit();
        }
        envia();
        </script>
<?
}
else { 
//no validos - retorna un mensaje de error

 
header("Location:login.php?error=1");
}
?>
  #2 (permalink)  
Antiguo 15/02/2011, 11:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Fallo submit form, solo con firefox

lo que sucede es que usas código Javascript obsoleto, y que solo IE reconoce...

¿sorprendido?

yo no, de hecho tu pregunta ni siquiera debería ir en este foro... pues de php, ¡nada!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/02/2011, 11:54
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Fallo submit form, solo con firefox

obvio amigo, por que le falta el NAME="login_form" a tu form. ç
si no accedelo con getElementById('login_form')
  #4 (permalink)  
Antiguo 15/02/2011, 11:55
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Fallo submit form, solo con firefox

Si no me equivoco para acceder al formulatio con document.blah, blah debe ser el nombre del form
(aunque esto es de javascript, no de php)
  #5 (permalink)  
Antiguo 15/02/2011, 12:01
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Fallo submit form, solo con firefox

se puede de las dos formas con el nombre o con el id,
  #6 (permalink)  
Antiguo 15/02/2011, 12:01
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Fallo submit form, solo con firefox

No entiendo porque tienes que volver a enviar el formulario, ¿no seria mas fácil con una simple condicional?.

De cualquier forma esto no es PHP, sino un problema de javascript. Y esta es la forma correcta.

Código Javascript:
Ver original
  1. function envia() {
  2.             document.getElementById('login_form').submit();
  3.         }
  4.         envia();

¡Ah! y el que esta mal es Internet Explorer, no interpreta Javascript como debería, favor de no confundir las cosas.
  #7 (permalink)  
Antiguo 15/02/2011, 12:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Fallo submit form, solo con firefox

A ver ya probé con y sin name, ahora lo tendré así por eso ahora no esta name="".. luego, lo que comenta jonasanx.. también lo probé y nada..

Y al que dijo que para que quiero mandar el form así, es la única manera de que funcione lo que quiero hacer.

Y sorprendido de que? con chrome funciona correctamente pateketrueke..

Eso si, estaba confuso de donde poner el tema porq era PHP y JS, pero el error viene del JS, en resumen, que sigue sin funcionar, ni getelementbyid ni ná jeje, gracias de todas formas, pero que puedo probar más? un saludo!

EDITO= el getElementById dice ahora que es null:

document.getElementById("login_form") is null
[Interrumpir en este error] document.getElementById('login_form').submit();
  #8 (permalink)  
Antiguo 15/02/2011, 12:15
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Fallo submit form, solo con firefox

por que no pones tu funcion en un onclick() ?????
y fijate de respetar las mayusculas en el nombre de los metodos javascript

document.getElementById('login_form').submit();
  #9 (permalink)  
Antiguo 15/02/2011, 12:19
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Fallo submit form, solo con firefox

Por que no publicas el código completo?, puede que te ayudemos a optimizar tu aplicación.
  #10 (permalink)  
Antiguo 15/02/2011, 12:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Fallo submit form, solo con firefox

Cita:
Iniciado por Patriarka Ver Mensaje
por que no pones tu funcion en un onclick() ?????
y fijate de respetar las mayusculas en el nombre de los metodos javascript

document.getElementById('login_form').submit();
Por que no puedo, es que mira te explico como funciona:

la web se divide en 2, uno la web con información de la empresa y tal, y lo otro es la tienda en prestashop, entonces que pasa? que para entrar a la tienda tienes que ser usuario, y estos datos no se consiguen registrándose tal cual, si no que el admin crea los usuarios y te da los datos, por que es privada la tienda.

Entonces, yo primero en la web 1, tengo un form en el cual el action apunta a un script .php que mira la BD de prestashop, comprueba el usuario y si es válido, escribe un formulario con los datos email y pass y se lo envia a authentication.php, que es el script que vuelve a comprobar y LOGUEA al usuario en la tienda, entonces esto con chrome e IE, funcionaba bien y no le di mucho bombo, pero ahora me encuentro con que en Firefox no funciona.
  #11 (permalink)  
Antiguo 15/02/2011, 12:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Fallo submit form, solo con firefox

Cita:
Iniciado por jonasanx Ver Mensaje
Por que no publicas el código completo?, puede que te ayudemos a optimizar tu aplicación.
Pues es que tampoco hay mucho más, pero bueno mira, este es el login:

Código PHP:
<form id="login_form" method="POST" action="check.php">
                                                  <
table width="200" border="0" align="center">
                                                  <
tr>
                                                    <
td>Email:</td>
                                                    <
td><input type="text" name="email" id="email"/></td>
                                                  </
tr>
                                                  <
tr>
                                                    <
td>Contraseña: </td>
                                                    <
td><input type="password" name="passwd" id="passwd"/></td>
                                                  </
tr>
                                                  <
tr>
                                                    <
td colspan="2" align="center">
                                                    <
input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" />
                                                    </
td>
                                                    </
tr>
                                                </
table>
                </
form
Y esto es lo que una vez verificado que eres usuario de mi tienda prestashop, pinto el formulario k necesita prestashop para procesar los datos y que aparezcas logueado en la tienda:

Código PHP:

<? 
include("conexion.php");
$email=$_POST['email'];
$password=$_POST['passwd'];
$password2=md5('ESTO ES UNA CADENA PRIVADA Q NECESITA PRESTASHOP'.$password);

$resultado=mysql_query("SELECT * FROM ps_customer WHERE (email='".$email."') AND (passwd='".$password2."')");
$colum=mysql_fetch_assoc($resultado);
$comprueba=mysql_num_rows($resultado);

if (
$comprueba==1){  //usuario y contraseña válidos - hacer submit a la tienda PRESTASHOP

echo "
<form id='login_form' name='login_form' method='POST' action='PS/authentication.php'>
   <input type='hidden' name='email' id='email' value='"
.$email."'/>
   <input type='hidden' name='passwd' id='passwd' value='"
.$password."'/>
   <input type='hidden' id='SubmitLogin' name='SubmitLogin' class='button' />
</form>"
;
  
?>    
        <script> 
        function envia() {
            document.getElementById('login_form').submit();
        }
        envia();
        </script>
<?
}
else { 
//no validos - retorna un mensaje de error

 
header("Location:login.php?error=1");
}
?>
  #12 (permalink)  
Antiguo 15/02/2011, 12:34
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Fallo submit form, solo con firefox

No se que versión de Firefox tenga, pero en la mía si me funciona, por que no prueba poniendo el tipo en la etiqueta script.
Código HTML:
Ver original
  1. <script type="text/javascript">  
  2.         function envia() {
  3.             document.getElementById('login_form').submit();
  4.         }
  5.         envia();
  6.         </script>

... pero sigo sin entender, ¿por que reenvía el formulario? ¿esta tratando de integrar dos sistemas? perdón si soy muy insistente, pero este caso me intriga.
  #13 (permalink)  
Antiguo 15/02/2011, 13:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Fallo submit form, solo con firefox

Cita:
Iniciado por jonasanx Ver Mensaje
No se que versión de Firefox tenga, pero en la mía si me funciona, por que no prueba poniendo el tipo en la etiqueta script.
Código HTML:
Ver original
  1. <script type="text/javascript">  
  2.         function envia() {
  3.             document.getElementById('login_form').submit();
  4.         }
  5.         envia();
  6.         </script>

... pero sigo sin entender, ¿por que reenvía el formulario? ¿esta tratando de integrar dos sistemas? perdón si soy muy insistente, pero este caso me intriga.
Pues mi versión de firefox es nueva, la instalé hace dos días creo. Y sigue sin funcionar poniendo la etiqueta y cambiando el getElementById igual, lo quito y pongo "login_form" a pelo y na, mismo error, que está indefinido, osea que javascript no ve ese form en ningun lado.

Si, trato te integrar dos sistemas, primeramente, mandaba el formulario tal cual, al authentication.php de prestashop (esto no lo he creado yo, está hecho y necesita unos campos y son los que le doy).. vale, entonces que pasa si no metías datos en el form? y le dabas a enviar? pues que ibas a entrar a la web, cosa que no me interesa por que es privada, entonces es la única forma que vi para que tengas que pasar por el login este SI o SI.. entonces primero compruebo que eres usuario y te enví ala pagina, si no lo eres.. te mando al login con un error.

Última edición por Zet4; 15/02/2011 a las 13:07
  #14 (permalink)  
Antiguo 17/02/2011, 11:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Fallo submit form, solo con firefox

nada por lo que se ve no? :(

Etiquetas: fallo, firefox, submit, formulario
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 18:09.