php - How to capture the displayed link in HTML (JavaScript) and pass to another HTML page as a variable?

I am building a website (and I am a novice) and the site has 2 frames. On the left side (frame 1), I have a list of links that when you click on a link it will load a page in frame 2 (right side). But the links are on the left side are actually the result of a query and will change.

Rather than hard coding a site for each link, I want to use one target page to display data. I want to use the link on the left side as a variable value to pass to the right side so I can use the link name in a query on the target page.

<a href="JavaScript:void(top.frames[2].location.href='Recap.html');">MyUniqueLink</a>

Any help would be very appreciated.

Answer

Solution:

In your first <iframe>, you can access the parent document like so:

// window.parent will be undefined if you are not in an iframe.
window.parent.document

Then, as spencer said, it would be easier for you to use document.getElementById("secondFrameId") to get to your second iframe. Also, the onclick event might be a bit more suited to your needs.

So together the code would look like:

<a onclick="window.parent.document.getElementById('secondFrameId').src='http://example.com'">MyUniqueLink</a>

Answer

Solution:

If you want to access the data in your <a>'s, you should start by giving them an id:

<a id = "myId" href="JavaScript:void(top.frames[2].location.href='Recap.html');" >MyUniqueLink</a>

Then you can grab their data using standard js:

document.getElementById("myId").innerHTML; // grabs MyUniqueLink
document.getElementById("myId").getAttribute("href"); // resolves to href value

Or accomplish the same using jQuery:

$("#myId").html();
$("#myId").attr("href");

If you are dynamically creating the <a>'s in the first place, you can also assign them an id at this point using newElement.setAttribute("id", "someNewId");.

Source