jQuery encodeURI for href not working
Asked Answered
H

2

8

I'm having problems encoding a string so I can place a variable into a link. I'm sure this is really simple, but i had trouble turning anything up.

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

This doesn't work.

encodeURI("text o")

Still returns:

link/text o

Instead of:

link/text%20

Also tried:

$("a.inquiry").attr("href", encodeURIComponent("/inquiry/6933/text=" + "text o"));
Hambletonian answered 7/9, 2010 at 15:22 Comment(2)
As you tagged this question with encodeuricomponent, haven’t you tried that?Intimidate
encodeURIComponent should work. I've tried the sample you've provided and it seems working. Look at jsfiddle.net/XdJCM.Symphysis
G
17

Try with encodeURIComponent instead.

Granada answered 7/9, 2010 at 15:24 Comment(3)
that does work either ;-( either its not working or something else I'm doing is undoing the encoding afterwards?Hambletonian
@holden: It could be so, encodeURIComponent has worked for me always.Granada
not working with me also, actually working with comma but not for spacesMahayana
M
6

I thought I was having the same problem, but then I realized I was looking at the results in both the mouseOver of the resulting link and in the address bar after clicking the link. It turns out that my browser was showing the spaces in both cases - i.e. when I copied the URI out of the address bar and pasted it in emacs the %20 revealed itself.

Maltz answered 6/12, 2011 at 2:36 Comment(1)
Wow, this was the solution for me too.Pah

© 2022 - 2024 — McMap. All rights reserved.