Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con Simbolo "mas" +

Estas en el tema de Problema con Simbolo "mas" + en el foro de Frameworks JS en Foros del Web. Hola Estoy utilizando AJAX para un sistema de facturación que estoy haciendo en PHP y he encontrado un problema que no se solucionar. Cuando envio ...
  #1 (permalink)  
Antiguo 25/01/2008, 02:39
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Problema con Simbolo "mas" +

Hola

Estoy utilizando AJAX para un sistema de facturación que estoy haciendo en PHP y he encontrado un problema que no se solucionar.

Cuando envio un campo que contiene el simbolo + , luego cuando lo recoge la parte de PHP me lo interpreta como un espacio. Se el porque lo hace y se que tiene que ser así porque las variables se pasan por GET y los espacios se convierten en +.

Entonces para intentar solucionarlo lo que hago es sustituir los + por una etiqueta como <mas>, y lo hace más o menos bien, pero si introduzco varias + solo me reconoce uno.

He buscado en el foro y he buscado en internet alguna solución, pero nadie da ninguna, alguno de vosotros me podría dar la solución????.

Gracias por anticipado.
  #2 (permalink)  
Antiguo 25/01/2008, 03:48
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema con Simbolo "mas" +

Cita:
Entonces para intentar solucionarlo lo que hago es sustituir los + por una etiqueta como <mas>, y lo hace más o menos bien, pero si introduzco varias + solo me reconoce uno.
entonces tienes ahi el problema, ponnos tu codigo para saber cual es el fallo. Utilizas str_replace?

http://es2.php.net/str_replace
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 25/01/2008, 04:25
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Problema con Simbolo "mas" +

Me he dado cuenta que estaba cometiendo un error con el PHP, porque había puesto los argumentos de la función mal, pero en el javascript si que tengo un problema que es por falta de desconocimiento.

Resulta que en la función de abajo, si pongo más de un + solo me sustituye el primero, pero los demás no.

Código:
function do_editar(id, name, field, tabla) {
		var x;
		x = document.getElementById(field).value;
		x=x.replace('+','<mas>');
		x_editar(x, id, name, tabla, do_editar_cb);
}
  #4 (permalink)  
Antiguo 25/01/2008, 05:09
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema con Simbolo "mas" +

y eso no lo puedes hacer en la parte de PHP?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 25/01/2008, 05:24
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Problema con Simbolo "mas" +

No, porque tengo primero que cambiar los + ya que al pasarlo por GET me llegan a PHP como espacios
  #6 (permalink)  
Antiguo 25/01/2008, 05:26
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema con Simbolo "mas" +

bueno aqui te he hecho una pifia, espero que te sirva:
Código HTML:
<html>
<head> 
Código:
<script type="text/javascript">
 function abc(esto)
  {
   var x=esto.value;
   var y=new Array();
   var z='';
   for(var i=0;i<x.length;i++)
    {    
     var temp=x.substr(i,1);
     y[i]=temp.replace('+','<mas>'); 
     z=z+y[i];
    }
    alert(c);
  }
</script>
Código HTML:
</head>
<body>
<input type="text" onclick="abc(this)" />
</body>
</html> 
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 19:42.