2012-08-27 28 views
12

Duplicar posibles:
jQuery/Javascript replace <space> in anchor link with %20¿Cómo puedo reemplazar espacio con el% 20 en javascript

estoy recibiendo SParameter así:

sParameter = document.getElementById('ddParameterType').value;

si estoy recibiendo una palabra como "Test - Text" como el elemento ddParameterType
entonces estoy reemplazando el espacio de palabra, como a continuación:

sParameter = document.getElementById('ddParameterType').value.replace("","%20");

pero su retorno de una óptima relación como %20Test - Text.
Necesito como Test%20-%20Text.

alguien puede ayudar.

+0

hay encodeURI: http://stackoverflow.com/a/853872/14955 – Thilo

+0

Lo siento, no soy capaz de entender la necesidad de que para codificar datos de usuario. ¿Alguien puede ayudarme a entender la razón de esto? – shahkalpesh

Respuesta

39
sParameter = encodeURIComponent(sParameter.trim()) //"Test%20-%20Text" 

la .trim quitará espacio inicial y final de la cadena. encodeURIComponent lo codificará mediante URL.

+0

gracias Por su respuesta – SDLBeginner

+0

esta solución funciona en IE y otros navegadores. gracias –

1

Usar la siguiente en lugar de reemplazar todos los ocurrencias:

document.getElementById('ddParameterType').value.replace(/ /g, "%20"); 

o mejor yet:

encodeURIComponent(document.getElementById('ddParameterType').value); 
6
sParameter = encodeURIComponent(sParameter.trim()) 
+0

Nota esto hace mucho más que espacios ... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent Pero eso es probablemente una buena cosa. – phyatt

Cuestiones relacionadas