Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Firefox no recoge los POST (http://www.forosdelweb.com/f127/firefox-no-recoge-post-442631/)

RUX 13/11/2006 04:04

Firefox no recoge los POST
 
Hola a todos/as, mi problema es el siguiente:
Tengo una página en la que aparece un "select" donde elegir el país, y una vez elegido el país, aparece otro "select" a traves de ajax con el listado de sus provincias (todo vía ajax).

El problema surge al darle al botón "enviar" para que lo almacene en la base de datos, ya que en "IE" recoge bien los datos vía POST pero en Firefox no.

Alguien sabe el porque en IE funciona bien recogiendo correctamente los POST "pais" y "provincia" respectivamente y en Firefox no llega?

SALUDOS y gracias de antemano

vengava 13/11/2006 07:02

Hola, de entrada sería interesante que postearas cómo creas el objeto XMLHttpRequest. Sin ver tu código, es posible que estés creando el objeto sólo para IE.
Saludos.

RUX 13/11/2006 07:37

Hola, gracias por contestar...
estoy utilizando esta función:

function AJAX2(){
var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2. XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var ajax = false;
for(var i=0 ; !ajax && i<ajaxs.length ; i++){
try{ ajax = new ActiveXObject(ajaxs); }
catch(e) { ajax = false; }
}
if(!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}

Funciona en ambos navegadores el hecho de recibir la info desde la base de datos, lo que no funciona en Firefox es el proceso de enviar los datos recibidos. Quiero decir que si selecciono PAIS: ESPAÑA. y PROVINCIA: MADRID de los selects, en Internet Explorer recogería posteriormente al enviar los valores de $_POST['PAIS'] y $_POST['PROVINCIA'] perfectamente, pero firefox parece ignorarlos.
:-(
SALUDOS

RUX 13/11/2006 14:05

alguien tiene alguna idea? gracias

vengava 13/11/2006 17:10

Hola RUX, muestra tu código para ver si vemos algo.

RUX 14/11/2006 02:21

Okis... lo tengo asi, en valor_actual va un "this.value" en el select para determinar si seleccione el valor 8 que es el que hace aparecer el select de los paises.

Código:

<script>
function AjaxPais(valor_actual, pagina, parametros){
        if(valor_actual == 8){
                var ajax = AJAX2();
                if(!ajax){
                        alert("No se puede ejecutar este proceso: Error de navegador");
                        return false;
                }
                document.getElementById("pais_select_").innerHTML = "<img src='css/progress.gif' style='vertical-align: middle;' /> <strong><?php echo $_SESSION['idioma']['en_espera']; ?></strong>";
                document.getElementById("pais_texto_").innerHTML = '<?php echo $_SESSION['idioma']['pais'].":*"; ?>'
                ajax.open("POST", pagina, true);
                ajax.onreadystatechange = function(){
                        if(ajax.readyState == 4){
                                document.getElementById("pais_select_").innerHTML=ajax.responseText;
                        }
                }
                ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                ajax.send(parametros);
        }else{
                document.getElementById("pais_select_").innerHTML = ''
                document.getElementById("pais_texto_").innerHTML = ''
                document.getElementById("provincia_select_").innerHTML = ''
                document.getElementById("provincia_texto_").innerHTML = ''
        }
}

Lo tengo parecido al de esta web:
http://www.formatoweb.com.ar/ajax/se..._3_niveles.php

La única diferencia es que mis selects no se muestran en pantalla y aparecen al seleccionar la opción correspondiente, en esta pagina parece que ya existen y pone "Selecciona opcion...".

De esta forma creo que al no formar parte del formulario en un primer instante, firefox lo ignora pero IE no.

¿Alguna idea?
SALUDOS

vengava 14/11/2006 05:13

Ahora no tengo tiempo pero:
Mira en firefox en el menú herramientas > consola Javascript
Dale a limpiar, vuelve a llamar a la página y a ver si te pone algo

RUX 14/11/2006 12:08

Siempre trabajo con la consola puesta... y no me pone ningun error, simplemente el firefox no recoge los datos enviados el internet explorer si :(
que cosa mas rara

ikhuerta 15/11/2006 08:20

Buenas,

Por mi experiencia puedo decir que a FireFox no le gusta demasiado que le crees objetos nuevos de formulario mediante innerHTML.

Prueba a generar el Select y sus options con las herramietnas de nodos. No solo aliviaras un poco de proceso al navegador sino que firefox seguramente pasara a entenderlo todo bien.

http://www.miliuco.net/docs/lola_cardenas/RefJS.html

Aqui encontraras las funciones para manejar nodos.

RUX 15/11/2006 12:47

Hola! gracias por contestar... si tuvieses algun ejemplo mas practico donde se entendiese un poco más lo que comentas, te agradecería que lo publicaras.

Gracias


La zona horaria es GMT -6. Ahora son las 23:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.