Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/08/2010, 18:23
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Error al enviar datos a una funcion javascript

Hola

Es sencillo, un string abierto con ", se cierra con otro ". Si abres con ' se cierra con otro ', tanto en html como en php

En este caso, el problema es que al poner

Código:
onClick='funcion('parametro');'
lo que sucede es que la ' del parámetro cierra el onclick en lugar de ser parte del código javascript, por lo que todo falla. Entonces si cambiamos por

Código:
onClick="funcion('parametro');"
las " " corresponderán al atributo onClick y las ' solo serán parte del contenido.

En el php sucede lo mismo

Código PHP:
echo "<img src="http://www.forosdelweb.com/f18/error-enviar-datos-funcion-javascript-835513/..." />"; 
Puedes ver que las " " del src, cierran el echo en lugar de ser parte del string, como necesitamos. Entonces lo que se hace es escaparlas, es decir agregarle \ atrás para que no sean interpretadas como comillas, sino como un caracter más del string. Fijate la diferencia con los colores:

Código PHP:
echo "<img src=\"...\" />"
Lo mismo sucede con el signo $, para que no sea interpretado como una variable y otros caracteres de escape. Para más info: http://php.net/manual/en/language.types.string.php

Saludos