2012-08-27 14 views
12

Powiel możliwe:
jQuery/Javascript replace <space> in anchor link with %20Jak mogę zastąpić przestrzeń z% 20 javascript

jestem coraz sParameter tak:

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

jeśli jestem uzyskanie słowa typu "Test - Text" jako elementu ddParameterType
to jestem zastępując miejsca w słowie jak poniżej:

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

ale jego powrocie do Valur jak %20Test - Text.
Potrzebuję jak Test%20-%20Text.

może pomóc każdemu.

+0

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

+0

mi przykro, jestem w stanie zrozumieć potrzeby, kodować dane użytkownika. Czy ktoś może mi pomóc zrozumieć przyczynę tego? – shahkalpesh

Odpowiedz

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

.trim usunie początkowe i końcowe spacje z łańcucha. encodeURIComponent zakoduje to URL-em.

+0

dziękuję Za odpowiedź – SDLBeginner

+0

to rozwiązanie działa w IE i innych przeglądarkach. dzięki –

1

Użyj następującego zamiast zastąpić wszystkie wystąpienia:

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

lub lepszy yet:

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

Zauważ, że robi to o wiele więcej niż tylko spacje ... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent Ale to chyba dobrze. – phyatt

Powiązane problemy