[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 917
  • Last Modified:

Referrer blank when using onClick

I just added functionality to my page that acts as a link using onClick(window.location.href = url) for a table row.

I also have an image with a link that points to the same url.

When the image is clicked, I get referrer information.

When the onClick option for the table row is used, referrer information is blank.

Is there an easy fix to this problem??
0
MrChuck
Asked:
MrChuck
  • 4
  • 3
  • 3
  • +1
1 Solution
 
knightEknightCommented:
you can try this:

if you name your link:

  <A href="someurl.htm" name="myLink"><IMG src="myimage.jpg" border="0" /></A>

then you can do this:

  onClick='document.anchors["myLink"].click();'
0
 
knightEknightCommented:
this is better:

<HTML>
<BODY>
<A href="#" name="myLink" id="myLink" onclick="alert(0);return false;">myLink</a><br />
<A href="#" name="test"   onclick='document.getElementById("myLink").click();return false;'>test</a></br>
</BODY>
</HTML>
0
 
knightEknightCommented:
in other words, give your link a name and an identical id:
   <A href="someurl.htm" name="myLink" id="myLink" ><IMG src="myimage.jpg" border="0" /></A>

then in your onclick do this:
   onclick='document.getElementById("myLink").click();'
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
dfu23Commented:
I think that the refferer information is only passed with an anchor tag ... not sure how to get around this for your table row onclick ... can you put an anchor in the row ... is that a possibility?
0
 
knightEknightCommented:
I tried to get around that by executing the click() of the anchor in the onclick of the table row.
0
 
MrChuckAuthor Commented:
The click idea worked when I hard coded the url. However, since I have a bunch of different url's, I am trying to pass it to the function.

What I have below doesn't work.

function SeePic(url) {
document.getElementById(url).click();
}

0
 
dakydCommented:
Maybe try this?  Replace "myLink" with the id of the <a> tag.  Hope that helps.

function SeePic(url) {
var theLink = document.getElementById("myLink");
theLink.href = url;
theLink.click();
}
0
 
MrChuckAuthor Commented:
The id is what is getting passed to the function.

Eg.  SeePic("MyLink")
0
 
dakydCommented:
Hm, you're passing in the id of the link?  That'll let you get the correct element, but won't let you change what it points to.  So for example, given this:

<script type="text/javascript">
function SeePic(url) {
document.getElementById(url).click();
}
</script>

<a href="http://www.google.com" id="myLink">Go To Google</a>

then SeePic("myLink") will always take you to Google.  I understood your question to mean that you want to change the location where the link points, so you can go to different sites/locations.  If you want to do that, then you'll need something more like this:

<script type="text/javascript">
function SeePic(url, newLocation) {
var theLink = document.getElementById(url);
theLink.href = newLocation;
theLink.click();
}
</script>

So now, a call to SeePic("myLink", "http://www.yahoo.com") will take you to yahoo.  Hopefully that helps, but if I misunderstood or that's not clear, then ask away.
0
 
MrChuckAuthor Commented:
Actually it my ignorance in JavaScript that is the problem.. lol

I was expecting the url that is passed to the function to show up in the browser source. (Like Im used to seeing with PHP)

However since Javascript is client side, it won't show up but it will execute properly.

0
 
dakydCommented:
Oh, heh ... glad you got what you wanted.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now