2012-08-27 12 views
12

Eventuali duplicati:
jQuery/Javascript replace <space> in anchor link with %20come posso sostituire spazio con% 20 in javascript

sto ottenendo sParameter come questo:

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

Se io sono ottenere parole come "Test - Text" come elemento ddParameterType
poi Sto sostituendo lo spazio in parola come di seguito:

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

ma il suo ritorno un valur come %20Test - Text.
Mi serve come Test%20-%20Text.

chiunque può aiutare.

+0

c'è encodeURI: http://stackoverflow.com/a/853872/14955 – Thilo

+0

Mi dispiace, non riesco a capire la necessità per voi per codificare i dati dell'utente. Qualcuno può aiutarmi a capire la ragione di questo? – shahkalpesh

risposta

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

il .trim rimuoverà spazi iniziali e finali dalla stringa. encodeURIComponent lo codificherà tramite URL.

+0

Grazie per la tua risposta – SDLBeginner

+0

questa soluzione funziona in IE e altri browser. grazie –

1

Utilizza il seguente invece di sostituire tutti occorrenze:

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

o meglio yet:

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

Nota questo fa molto di più degli spazi ... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent Ma questa è probabilmente una buona cosa. – phyatt

Problemi correlati