Foros del Web » Programando para Internet » Javascript »

Error SOBRENATURAL en función escape()

Estas en el tema de Error SOBRENATURAL en función escape() en el foro de Javascript en Foros del Web. Tengo esto: Código: <script language="javascript"> function mostrar() { var mensaje="CADENA OTRO"; document.getElementById('test').method = "POST"; document.getElementById('test').action = "pruebas2.php?mensaje="+escape(mensaje); document.getElementById('test').submit(); //alert('hola'); } </script> "test" es el nombre ...
  #1 (permalink)  
Antiguo 25/07/2008, 20:37
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Error SOBRENATURAL en función escape()

Tengo esto:

Código:
<script language="javascript">
	function mostrar() {
		var mensaje="CADENA OTRO";
		document.getElementById('test').method = "POST";			
		document.getElementById('test').action = "pruebas2.php?mensaje="+escape(mensaje);
		document.getElementById('test').submit();
		//alert('hola');
	}
</script>
"test" es el nombre de mi formulario, ahora el problema radica con escape(), resulta que cuando salta a pruebas2.php, escape() no interpreta los espacios en blanco. Por ejemplo, si mensaje:

var mensaje = "CADENA:OTRO" funciona perfectamente, porque en la URL queda como: pruebas2.php?mensaje=CADENA%3AOTRO (codifica el : en %3A)

Pero si pongo:

var mensaje = "CADENA OTRO" NO funciona, porque en la URL queda como: pruebas2.php?mensaje=CADENA OTRO (NO codifica el espacio en blanco como +)

Van 3 horas con esto y no encuentro la solución, ¿cuál es mi error?!

Saludos,
goc00
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #2 (permalink)  
Antiguo 25/07/2008, 21:28
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Actualización:

Acabo de darme cuenta que esto me pasa con FireFox, en IE si me traduce los espacios en blanco....... por favor necesito ayuda puesto que este "pequeño" problema me lleva horas y horas perdidas tratando de resolverlo.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #3 (permalink)  
Antiguo 25/07/2008, 22:26
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Hola goc00,

Tranquilo, prueba con esto:

Código HTML:
<script language="javascript">
	function mostrar() {
		var mensaje="CADENA OTRO";
		mensaje = escape(mensaje).replace(" ","+");
                document.getElementById('test').method = "POST";			
		document.getElementById('test').action = "pruebas2.php?mensaje="+mensaje;
		document.getElementById('test').submit();
		//alert('hola');
	}
</script> 
Pero... a mi me funciona el escape() para espacios en firefox.

Espero que te sirva. Saludos!!
  #4 (permalink)  
Antiguo 25/07/2008, 22:40
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

No funciona, pensé en lo mismo del replace pero sigue apareciendo en la URL de FireFox el espacio en blanco sin ser reemplazado... ¿qué diablos pasa acá?!
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #5 (permalink)  
Antiguo 25/07/2008, 22:43
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Cita:
Iniciado por goc00 Ver Mensaje
Mientras venía a escribir la solución a mi problema, leo tu solución y es casi lo mismo que la mía. Yo lo hice un poco más "complicado", primero que todo en base al tipo de navegador estaba pasándole el replace... pero pensándolo bien, mejor pasarle un replace de una, así me evito este extraño comportamiento en algún otro navegador.

En mis horas de investigación y desesperación, leí algo sobre FireFox y los espacios en blanco en la URL, creo que este interpreta los espacios en blanco como separadores de parámetros en la URL, por ejemplo sucedía que alguien ponía "pagina.php? contenido=hola" y FireFox interpreta a "pagina.php?" como una URL y "contenido=hola" como otra, y como esta última no es una dirección válida, busca a través de google la primera coincidencia a esto desplegando una nueva página..... que cosas no...

Saludos,
goc00
Si.. que cosas...

Que bueno que hayas resuelto tu problema. Saludos
  #6 (permalink)  
Antiguo 25/07/2008, 22:49
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

EDIT EDIT EDIT!, canté victoria antes de tiempo... sigo en lo mismo xbx!! no sé que pasaaa
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #7 (permalink)  
Antiguo 25/07/2008, 22:57
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Entonces la cosa efectivamente es sobrenatural, jejeje.

Tienes el mismo problema?

Puedes postear mas codigo?
  #8 (permalink)  
Antiguo 25/07/2008, 23:01
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Código:
function enviar() {
	//getValorRadioButton();
	var i=0;
	var lineaOk=0;
	
	// cadena que contendrán los índices de ProdCatalogoCostos
	// y además de LibretaDirecciones
	var libreta_direcciones = "";
	var prod_catalogo_costos = "";
	var es_regalo = "";
	var de = "";
	var para = "";
	var mensaje = "";
	
	var codigos = document.getElementById('id_prods').value;
	var num_codigos = codigos.length;
	// elimino el último caracter que es un -
	var codigos_cortado = codigos.slice(0,num_codigos-1);
	// Split para dejarlos en un arreglo por separado
	var codigos_sep = codigos.split("-");
	
	
	var indices = document.getElementById('ind').value;
	var num_indices = indices.length;
	// elimino el último caracter que es un -
	var indices_cortado = indices.slice(0,num_indices-1);
	// Split para dejarlos en un arreglo por separado
	var indices_sep = indices.split("-");
	
	for(i=0; i<(codigos_sep.length-1); i++) {
		if(document.getElementById('opcionRegalo'+indices_sep[i]).value == "1") {
			// si es regalo
			if(document.getElementById('de'+indices_sep[i]).value != ""
				&& document.getElementById('para'+indices_sep[i]).value != ""
				&& document.getElementById('mensaje'+indices_sep[i]).value != "")
				// valida que haya seleccionado la dirección y método de envío
				if(document.getElementById('direccionEnvio'+indices_sep[i]).value != ""
					&& document.getElementById('metodoEnvio'+indices_sep[i]).value != "")
					// contar línea correcta con todo validado
					lineaOk++;
		} else {
			// si NO es regalo
			if(document.getElementById('direccionEnvio'+indices_sep[i]).value != ""
				&& document.getElementById('metodoEnvio'+indices_sep[i]).value != "")
				// contar línea correcta con todo validado
				lineaOk++;
		}
	}
	// si lineaOK es igual al total de elementos de codigos_sep es porque
	// todas las líneas están correctas y se puede avanzar
	if(lineaOk == (codigos_sep.length-1)) {
		
		
		
		//creo una URL para pasarle los datos de los id a metodoPago
		//recorro de nuevo los elementos
		for(i=0; i<(codigos_sep.length-1); i++) {
			libreta_direcciones += document.getElementById('direccionEnvio'+indices_sep[i]).value+"-";
			prod_catalogo_costos += document.getElementById('metodoEnvio'+indices_sep[i]).value+"-";
			es_regalo += document.getElementById('opcionRegalo'+indices_sep[i]).value+"-";
			if(document.getElementById('opcionRegalo'+indices_sep[i]).value == "1") {
				de += document.getElementById('de'+indices_sep[i]).value+"-";
				para += document.getElementById('para'+indices_sep[i]).value+"-";
				mensaje += document.getElementById('mensaje'+indices_sep[i]).value+"-";
			} else {
				// @@ significa que no es regalo y no lleva mensaje
				de += "@@-";
				para += "@@-";
				mensaje += "@@-";
			}
		}
		
		var url = "?id_producto="+escape(codigos)
					+"&id_prodcatalogocostos="+escape(prod_catalogo_costos)
					+"&id_libretadirecciones="+escape(libreta_direcciones)
					+"&regalo="+escape(es_regalo)
					+"&de="+escape(de).replace(" ","+")
					+"&para="+escape(para).replace(" ","+")
					+"&mensaje="+escape(mensaje).replace(" ","+");
					
		//if(ff) replace(" ","%20",url)
		document.getElementById('frmEnvio').method = "POST";
		document.getElementById('frmEnvio').action = "metodoPago.php"+url;
		document.getElementById('frmEnvio').submit();
		
		//location.href="metodoPago.php"+escape(url);
		
	} else {
		 alert("Debes completar todos los campos para continuar");
	}
}
y cuando salta a metodoPago.php, en la URL los espacios en blanco siguen apareciendo como espacios en blanco, plop!!!!!
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #9 (permalink)  
Antiguo 25/07/2008, 23:07
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

goc00

prueba el replace asi:

Código:
.replace(" ","%20")
  #10 (permalink)  
Antiguo 25/07/2008, 23:12
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Nada mi estimado amigo... en otras palabras, FireFox no me está considerando los espacios en blanco como un caracter.. ¿el motivo?, NI LA MÁS MÍNIMA IDEA DE ESTO!!!...... y no sabes cuanto necesito resolver esto!! (puesto que en la página metodoPago.php no me funciona el código JavaScript por esta razón................)

¿Algún alienígena sabrá como resolver estos problemas extraterrestres?!!?!
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #11 (permalink)  
Antiguo 25/07/2008, 23:19
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

jajajaj. Tranquilo

Yo probe esto y a mi me funciona ok en firefox.

Código HTML:
<html>
<head>
<script>
function valida()
{
 var form = document.getElementById("form");

 form.action = "?hola=" + escape("a b");

 return true;
}
</script>
</head>

<body>
    <form id="form" action="" method="post" onsubmit="return valida();">
    <input type="text" value="hola" />
    <input type="submit" value="enviar"/>
    </form>
</body>

</html> 
Pruebalo tú y dime si te funciona.

De lo contrario, te pasaré otra solucion, que 100% si va a andar.

  #12 (permalink)  
Antiguo 25/07/2008, 23:23
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Lo mismo compañero, aparece:

hola.php?hola=a b

siendo que debería aparecer

hola.php?hola=a%20b

__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #13 (permalink)  
Antiguo 25/07/2008, 23:29
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

que onda?


pruebalo asi:

Código HTML:
function enviar() {
    //getValorRadioButton();
    var i=0;
    var lineaOk=0;
    
    // cadena que contendrán los índices de ProdCatalogoCostos
    // y además de LibretaDirecciones
    var libreta_direcciones = "";
    var prod_catalogo_costos = "";
    var es_regalo = "";
    var de = "";
    var para = "";
    var mensaje = "";
    
    var codigos = document.getElementById('id_prods').value;
    var num_codigos = codigos.length;
    // elimino el último caracter que es un -
    var codigos_cortado = codigos.slice(0,num_codigos-1);
    // Split para dejarlos en un arreglo por separado
    var codigos_sep = codigos.split("-");
    
    
    var indices = document.getElementById('ind').value;
    var num_indices = indices.length;
    // elimino el último caracter que es un -
    var indices_cortado = indices.slice(0,num_indices-1);
    // Split para dejarlos en un arreglo por separado
    var indices_sep = indices.split("-");
    
    for(i=0; i<(codigos_sep.length-1); i++) {
        if(document.getElementById('opcionRegalo'+indices_sep[i]).value == "1") {
            // si es regalo
            if(document.getElementById('de'+indices_sep[i]).value != ""
                && document.getElementById('para'+indices_sep[i]).value != ""
                && document.getElementById('mensaje'+indices_sep[i]).value != "")
                // valida que haya seleccionado la dirección y método de envío
                if(document.getElementById('direccionEnvio'+indices_sep[i]).value != ""
                    && document.getElementById('metodoEnvio'+indices_sep[i]).value != "")
                    // contar línea correcta con todo validado
                    lineaOk++;
        } else {
            // si NO es regalo
            if(document.getElementById('direccionEnvio'+indices_sep[i]).value != ""
                && document.getElementById('metodoEnvio'+indices_sep[i]).value != "")
                // contar línea correcta con todo validado
                lineaOk++;
        }
    }
    // si lineaOK es igual al total de elementos de codigos_sep es porque
    // todas las líneas están correctas y se puede avanzar
    if(lineaOk == (codigos_sep.length-1)) {
        
        
        
        //creo una URL para pasarle los datos de los id a metodoPago
        //recorro de nuevo los elementos
        for(i=0; i<(codigos_sep.length-1); i++) {
            libreta_direcciones += document.getElementById('direccionEnvio'+indices_sep[i]).value+"-";
            prod_catalogo_costos += document.getElementById('metodoEnvio'+indices_sep[i]).value+"-";
            es_regalo += document.getElementById('opcionRegalo'+indices_sep[i]).value+"-";
            if(document.getElementById('opcionRegalo'+indices_sep[i]).value == "1") {
                de += document.getElementById('de'+indices_sep[i]).value+"-";
                para += document.getElementById('para'+indices_sep[i]).value+"-";
                mensaje += document.getElementById('mensaje'+indices_sep[i]).value+"-";
            } else {
                // @@ significa que no es regalo y no lleva mensaje
                de += "@@-";
                para += "@@-";
                mensaje += "@@-";
            }
        }
        
                            
        var formulario = document.getElementById('frmEnvio');
        
        var id_producto = document.createElement("hidden");
        id_producto.value = codigos;
        id_producto.name = "id_producto";
        formulario.appendChild = id_producto;

        var id_prodcatalogocostos = document.createElement("hidden");
        id_prodcatalogocostos.value = prod_catalogo_costos;
        id_prodcatalogocostos.name = "id_prodcatalogocostos";
        formulario.appendChild = id_prodcatalogocostos;

        var id_libretadirecciones = document.createElement("hidden");
        id_libretadirecciones.value = libreta_direcciones;
        id_libretadirecciones.name = "id_libretadirecciones";
        formulario.appendChild = id_libretadirecciones;

        var regalo = document.createElement("hidden");
        regalo.value = es_regalo;
        regalo.name = "regalo";
        formulario.appendChild = regalo;
        
        var de_hidden = document.createElement("hidden");
        de_hidden.value = de;
        de_hidden.name = "de";
        formulario.appendChild = de_hidden;

        var para_hidden = document.createElement("hidden");
        para_hidden.value = para;
        para_hidden.name = "para";
        formulario.appendChild = para_hidden;

        var mensaje_hidden = document.createElement("hidden");
        mensaje_hidden.value = mensaje;
        mensaje_hidden.name = "mensaje";
        formulario.appendChild = mensaje_hidden;


        //if(ff) replace(" ","%20",url)
        document.getElementById('frmEnvio').method = "POST";
        document.getElementById('frmEnvio').action = "metodoPago.php";
        document.getElementById('frmEnvio').submit();
        
        //location.href="metodoPago.php"+escape(url);
        
    } else {
         alert("Debes completar todos los campos para continuar");
    }
}
Espero no haberme equivocado en el codigo.

Importante: recuerda que las variables ahora estan siendo pasadas por POST, en metodoPago.php deberas levantarlas teniendo en cuenta esto ($_POST)

A cruzar los dedos

--editado--
si las quieres por get cambia esto:

document.getElementById('frmEnvio').method = "GET";
  #14 (permalink)  
Antiguo 25/07/2008, 23:41
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Lo probaré compañero, mirando esto bien parece que el problema está en otro lado... yo digo que es por el tema de los espacios en blanco porque cuando llega con espacio en blanco suceda la anomalía de que el código javascript queda inutilizado (no responde a nada)... seguiré en búsqueda del error con tu ayuda y por supuesto, muchas gracias por invertir tu tiempo en ayudarme.

Saludos,
goc00
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #15 (permalink)  
Antiguo 25/07/2008, 23:44
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Es un placer...

Aclarame una duda.
metodoPago.php recibe bien las variables con espacios en blanco?
Es decir, en $_POST ó $_GET, las variables se encuentran ok?

--edit--
puedes hacer un print_r($_POST) o print_r($_GET)
  #16 (permalink)  
Antiguo 25/07/2008, 23:51
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Bueno cuando leí tu último mensaje me dí cuenta que claro, estaba utilizando $_GET siendo que debería ser $_POST (porque to declaraba la acción como POST)... pensando en aquello y ya que en metodoPago no necesito traerme información de los campos, sino que necesito la URL que creo en la función enviar(), modifiqué:

Código:
document.getElementById('frmEnvio').method = "POST";
document.getElementById('frmEnvio').action = "metodoPago.php";
document.getElementById('frmEnvio').submit();
por:

Código:
location.href="metodoPago.php"+url;
y en metodoPago.php obtengo con $_GET los valores, cosa que sucede sin problemas y tal como se espera, pero por alguna razón el código JavaScript de enviar2() (otra función que se encuentra en la misma página que enviar() deja de responder, o sea, no hace nada).......... imaginando un error lo probé en IE pero este tampoco marca error, sino que solamente queda como muerto, al igual que en FF, al parecer hay un ínfimo detalle que estoy olvidando.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #17 (permalink)  
Antiguo 25/07/2008, 23:56
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

bueno compañero, vamos avanzado...

postea enviar2() por favor.
  #18 (permalink)  
Antiguo 26/07/2008, 00:02
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Array ( [id_producto] => 3-6- [id_prodcatalogocostos] => 4-7- [id_libretadirecciones] => 1-1- [regalo] => 1-0- [de] => TEST-@@- [para] => TEST-@@- [mensaje] => TEST TEST TEST-@@- )

Esto es lo que me retorna print_r($_GET);

Como verás los datos llegan bien, esos "-" son con lo que yo posteriormente separo para crear arreglos y poder recorrerlos (necesito los datos por separado obviamente), una técnica no muy linda pero luego de haber estado 3 días sin poder descubrir como pasar objetos de una página a otra con PHP, llegué a esa "solución"... pero bueno, eso es otro tema. Acá está enviar2():

Código:
function enviar2(url) {
	var metodo="";
	var direccion="";
	metodo = document.getElementById('menuMetPago').value;
	direccion = document.getElementById('menuDireccBoleta').value;
	if(metodo != "" && direccion != "") {
		// tomo el método de pago y la dirección a donde se enviará la boleta
		var resto = "";
		resto = "&direccion="+direccion+"&metodo="+metodo;
		location.href="finalizarCompra.php"+url+resto;
		
	} else {
		alert("Debes completar todos los campos para continuar");
	}
}
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #19 (permalink)  
Antiguo 26/07/2008, 00:11
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Tu dices que cuando se ejecuta enviar2() los botones dejan de funcionar.
Eso es seguramente por un error de javascript.
*Cuando lo ejecutas en firefox, que error te marca la consola?
*Estas seguro de estar recibiendo bien el parametro url?

no se ejecuta:
Cita:
location.href="finalizarCompra.php"+url+resto;
ni

Cita:
alert("Debes completar todos los campos para continuar");
?
  #20 (permalink)  
Antiguo 26/07/2008, 00:26
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

Es exactamento este el problema, ahora creo que podrás ayudarme para resolverlo:

Cuando llega con espacio en blanco se está interpretando como:

Código HTML:
onclick=enviar2('?&id_prodcatalogocostos=4--7&id_libretadirecciones=1--1&regalo=1--0&de=A--@@&ppara=A--@@&mensaje=ACA sigue--@@&monto=64020')
El problema está en que se interpreta SÓLO hasta "ACA" como cadena, pero desde el espacio en blanco hacia adelante no es así, por eso la función enviar2() no hace nada porque recibe el parámetro URL erróneamente... estoy seguro que el problema es con las comillas (que me han dado hartos dolores de cabeza y acá está la prueba irrefutable!), bueno, para generar la url yo tengo en PHP:

Código PHP:
echo "<input type='button' onclick=enviar2('".$urlPasar."') value='Continuar compra' />"
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #21 (permalink)  
Antiguo 26/07/2008, 00:36
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Excelente

Entonces haz esto para tu enviar2()

Cita:
function enviar2(url) {
url = url.replace(" ","%20");
var metodo="";
var direccion="";
metodo = document.getElementById('menuMetPago').value;
direccion = document.getElementById('menuDireccBoleta').value;
if(metodo != "" && direccion != "") {
// tomo el método de pago y la dirección a donde se enviará la boleta
var resto = "";
resto = "&direccion="+direccion+"&metodo="+metodo;
location.href="finalizarCompra.php"+url+resto;

} else {
alert("Debes completar todos los campos para continuar");
}
}
Ahora... no utilizo escape() porque escaparia tambien los & y eso no queremos.

Otra alternativa seria usar urlencode() de php antes de concatenar las cosas en $urlPasar.

Dime que funcionaaa!!

:P
  #22 (permalink)  
Antiguo 26/07/2008, 00:46
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Error SOBRENATURAL en función escape()

SIIIIIIIIIIIIIIIII, habemus urlPasar!!! juajuujaJUajuJaJU, el problema estaba en $urlPasar, al aplicar el urlencode se interpreta completamente y puedo utilizarla en enviar2()!!, siiii, este trozo de código será comentado como desarrolladores, tú y yo! wjuajjuA!

MUCHAS GRACIAS! :D
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #23 (permalink)  
Antiguo 26/07/2008, 00:51
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Error SOBRENATURAL en función escape()

Buenisimoo!!

me colocaràs en tu codigo? jajajaja No hace falta.. el mérito es tuyo


Un abrazo!
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 23:55.