2010-09-07 17 views
5

Tengo problemas para codificar una cadena para poder colocar una variable en un enlace. Estoy seguro de que esto es realmente simple, pero tuve problemas para generar algo.jQuery encodeURI para href no funciona

$("a.inquiry").attr("href", "/inquiry/6933/text=" + encodeURI("text o")); 

Esto no funciona.

encodeURI("text o") 

sigue devolviendo:

link/text o 

En lugar de:

link/text%20 

También probamos:

$("a.inquiry").attr("href", encodeURIComponent("/inquiry/6933/text=" + "text o")); 
+0

Al etiquetar esta pregunta con * encodeuricomponent *, ¿no lo has intentado? – Gumbo

+1

encodeURIComponent debería funcionar. Probé la muestra que me proporcionó y parece funcionar. Mira http://jsfiddle.net/XdJCM/. – Zafer

Respuesta

13

intento con encodeURIComponent lugar.

+2

que funciona bien ;-(o bien no funciona o bien algo más estoy haciendo es deshacer la codificación después? – holden

+0

@holden: Podría ser así, 'encodeURIComponent' me ha funcionado siempre. – Sarfraz

+0

no funciona conmigo también, trabajando realmente con coma pero no para espacios –

6

Pensé que estaba teniendo el mismo problema, pero luego me di cuenta de que estaba viendo los resultados tanto en el mouseover del enlace resultante como en la barra de direcciones después de hacer clic en el enlace. Resultó que mi navegador estaba mostrando los espacios en ambos casos, es decir, cuando copié el URI fuera de la barra de direcciones y lo pegué en emacs, se mostró el% 20.

+0

Guau, esta fue la solución para mí también. – user3761308