Foros del Web » Programando para Internet » Javascript »

Pasar a una argumento string con comillas

Estas en el tema de Pasar a una argumento string con comillas en el foro de Javascript en Foros del Web. Mi duda es como paso un argumento a una funcion javascript, pero este argumento es un string y dentro contiene comillas. En javascript se arregla ...
  #1 (permalink)  
Antiguo 26/02/2010, 08:54
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 13 años, 8 meses
Puntos: 1
Pasar a una argumento string con comillas

Mi duda es como paso un argumento a una funcion javascript, pero este argumento es un string y dentro contiene comillas.

En javascript se arregla añadiendo slashes, y el alert muestra la informacion bien.

var mensaje = "Hola Mundo! \n Qué facil es incluir \'comillas simples\' \n y \"comillas dobles\" ";
alert(mensaje);

Esta es mi funcion que no funciona:

<td align="center"><div align="center"><a href="javascript:pon_prefijo(<?php echo $codfamilia?>,'<?php echo $referencia?>','<?php echo addslashes($descripcion)?>','<? echo $codarticulo?>')"><img src="../img/convertir.png" border="0" title="Seleccionar"></a></div></td>

La funcion que llamo es pon_prefijo y tengo problemas con $descripcion, como veran le agrego los slashes con Addslashes, pero al posicionarme y dar click nunca llama a la funcion porque se corta al primer slash.

el valor de $descripcion es: DENTAL SIN MANDRIL DURO 1" 3/32" HOLE , entonces se corta y queda asi: DENTAL SIN MANDRIL DURO 1\

si alguien sabe como manejar estas cadenas que me apoyen ..

gracias
  #2 (permalink)  
Antiguo 26/02/2010, 10:27
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.099
Antigüedad: 15 años, 5 meses
Puntos: 790
Respuesta: Pasar a una argumento string con comillas

Quizá podrías usar un escape hexadecimal:
http://www.forosdelweb.com/2846915-post4.html
  #3 (permalink)  
Antiguo 26/02/2010, 14:35
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar a una argumento string con comillas

la funcion esta bien y si la pruebo si funciona, pero como la puedo agregar aca??

<a href="javascript:pon_prefijo(<?php echo $codfamilia?>,'<?php echo $referencia?>','<?php echo addslashes($descripcion)?>','<? echo $codarticulo?>')"><img src="../img/convertir.png" border="0" title="Seleccionar"></a>

el dato que me da problemas para enviar a la funcion pon_prefijo es <?php echo addslashes($descripcion)?>

asi me queda cuando se envia:

pon_prefijo('16','166029','DENTAL SIN MANDRIL DURO 1\

Cuando la funcion debe quedar asi:

pon_prefijo('16','166029','DENTAL SIN MANDRIL DURO 1\" 3/32\" HOLE','166029')

como debo de poner la funcion??
  #4 (permalink)  
Antiguo 26/02/2010, 16:36
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.099
Antigüedad: 15 años, 5 meses
Puntos: 790
Respuesta: Pasar a una argumento string con comillas

Qué tal reemplazando addslashes por js_encode?
  #5 (permalink)  
Antiguo 26/02/2010, 16:46
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar a una argumento string con comillas

No funciona porque queda dentro de php y la reconoce como una funcion de php que no encuentra.
  #6 (permalink)  
Antiguo 26/02/2010, 16:48
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.099
Antigüedad: 15 años, 5 meses
Puntos: 790
Respuesta: Pasar a una argumento string con comillas

Si php no la reconoce es porque no la estás declarando... Si no, de la misma manera en que addslashes funciona tiene que funcionar esta función.
  #7 (permalink)  
Antiguo 26/02/2010, 16:53
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar a una argumento string con comillas

si la pongo asi:

<a href="javascript:pon_prefijo(<?php echo $codfamilia?>,'<?php echo $referencia?>','js_endode(<?php echo addslashes($descripcion)?>)','<? echo $codarticulo?>')"><img src="../img/convertir.png" border="0" title="Seleccionar"></a>

pero en la salida me queda como:

pon_prefijo('16','166029','js_encode(DENTAL SIN MANDRIL DURO 1\

se trunca la parte final y ya con eso no funciona. alguna sugerencia??
  #8 (permalink)  
Antiguo 26/02/2010, 16:56
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.099
Antigüedad: 15 años, 5 meses
Puntos: 790
Respuesta: Pasar a una argumento string con comillas

Así no. Te repito: reemplazá addslashes por js_encode (reemplazar, no añadir: js_encode es una función de php no nativa). Debe ir entre tags php y js_encode debe estar declarada dentro de tu código php, ya que no es una función nativa sino una función de usuario.

Etiquetas: comillas, pasar, string, argumentos
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 02:29.