By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
460,030 Members | 1,207 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 460,030 IT Pros & Developers. It's quick & easy.

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

P: n/a
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.hre f);"
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

Jul 23 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Lee
yo*************@gmail.com 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.hre f);"
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.hre f);return false"

Jul 23 '05 #2

P: n/a
Great! that works. Thanks Lee.

-Yogesh

Lee wrote:
yo*************@gmail.com 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.hre f);"
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.hre f);return false"


Jul 23 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.