onClick method question (this.href and document.location.href)

  • Thread starter yogesh.bhardwaj
  • Start date
Y

yogesh.bhardwaj

Hello all

I am trying to modify the link URL when a user clicks on the link.
Following is the code:

<a onClick="document.location.href=modifyURL(this.href);"
href="SOME_DYNAMIC_URL" %>Link</a>

The javascript function, modifyURL(href), works fine and returns the
desired URL, but for some reason, the value of 'href' is not getting
overwritten with the value returned from the js function. It works fine
if I use the following code:

<a onClick="this.href=modifyURL(this.href);" href="SOME_DYNAMIC_URL"
%>Link</a>

But the reason I'm trying to use document.location instead is because
of an IE bug. The string 'Link' actually contains the character '@', if
I use this.href, the URL will be formed perfectly, but right before the
page redirects to the new location, the whole URL will be printed on
the page (replacing the string 'Link'). This "bug" is overcome by using
document.location, but then the URL is not getting updated. Any ideas?
Thanks a lot
-Yogesh
 
L

Lee

(e-mail address removed) said:
Hello all

I am trying to modify the link URL when a user clicks on the link.
Following is the code:

<a onClick="document.location.href=modifyURL(this.href);"
href="SOME_DYNAMIC_URL" %>Link</a>

You're telling the browser to do two things that conflict.
1) set document.location.href to some URL
2) follow the link to "SOME_DYNAMIC_URL"

You can cancel action #2 by having the onClick handler return false.

onclick="document.location.href=modifyURL(this.href);return false"
 
Y

yogesh.bhardwaj

Great! that works. Thanks Lee.

-Yogesh
(e-mail address removed) said:

You're telling the browser to do two things that conflict.
1) set document.location.href to some URL
2) follow the link to "SOME_DYNAMIC_URL"

You can cancel action #2 by having the onClick handler return false.

onclick="document.location.href=modifyURL(this.href);return false"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top