www.webdeveloper.com
Results 1 to 7 of 7

Thread: Nesting Links

  1. #1
    Join Date
    Jul 2014
    Posts
    2

    Nesting Links

    I'm not sure if this is possible, but I'm trying to nest <a href tags within one another. I have a "NO" link on my webpage. When a user clicks on the "NO" link, it opens up an email to my company with the subject line of "Program Enrollment" and the body of "I will complete the Enrollment Agreement and fax all required paperwork." This is the current code and it's working fine:

    <a href="mailto:info@companyname.com?subject=Program Enrollment&body=I will complete the Enrollment Agreement and fax all required paperwork.">NO</a>

    My question is, how do I make the words 'Enrollment Agreement' in the body of the email a link to a PDF form? Essentially, I would be nesting one <a href link within another. A normal link to this form would look something like the following; however, when I try to insert this <a href code into the existing <a href code above, it does not work.

    <a href="http://www.companyname.com/Forms/EnrollmentAgreement.pdf" target="_blank">Enrollment Agreement</a>

    Any suggestions would be greatly appreciated.

  2. #2
    Join Date
    Oct 2013
    Posts
    557
    One possible work-around:
    HTML Code:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Enrollment agreement</title>
    <style>
    #display{
    	display:none;
    }
    </style>
    
    <script>
    function showmail(el,d) {
    	if (el.checked == true){
    		d.style.display = 'block';
    	}
    	else{
    		d.style.display = 'none';
    	}
    }
    </script>
    </head>
    <body>
    <div>
    	<input type="checkbox" value="I read it" onclick="showmail(this,display)"> I have read the <a href="http://www.companyname.com/Forms/EnrollmentAgreement.pdf" target="_blank">Enrollment Agreement</a>
    </div>
    
    <div id="display">
    	<a href="mailto:info@companyname.com?subject=Program Enrollment&body=I will complete the Enrollment Agreement and fax all required paperwork.">NO</a>
    </div>
    
    </body>
    </html>
    Adjust wording and syntax as necessary.

  3. #3
    Join Date
    Jul 2014
    Posts
    2
    Interesting work-around, one I wouldn't have thought of. I'm not sure it'll work for our purposes this time around, but will hold onto it for future reference. Thanks for taking the time to respond and provide feedback!

  4. #4
    Join Date
    Oct 2013
    Posts
    557
    Quote Originally Posted by Shelby View Post
    I'm not sure it'll work for our purposes this time around, but will hold onto it for future reference.
    Always good to have arrows in the quiver.

  5. #5
    Why would you have an anchor large enough to even have another anchor inside it in the first place?!?

    ... and that would be completely invalid markup to boot:

    http://htmlhelp.com/reference/html40/special/a.html

    "Contents: Inline Level except A"

    Could you put the second anchor AFTER and use CSS to position it over the first somehow, or does it have to be positioned in flow? Could you close the first anchor, open the second one, then open a third anchor with the same href as the first?

    That you are even trying though, to me sounds like you fail to grasp HTML's structural rules. You might want to take the time to go through all the tags in that reference I just linked to, paying particular attention to "contents" and "contained in".
    Last edited by deathshadow; 07-23-2014 at 09:52 PM.

  6. #6
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,537
    Took me a second read to understand what you are trying to do, which then led myself to the question: why do you want the user to send the link to you? Are you expecting them to click the mailto link, see the message in their mail client of choice, and then click that link (if their mail client chooses to display it as such)? Seems like a rather weird use case to me.

    Wouldn't it be cleaner and more user-friendly to simply have a link to a contact form that submits the email on the web server side, with the added benefit that you don't have to stick your email address in the mark-up? Then on that page, you could have a prominent link (or button or whatever) that would provide the option to instead download the PDF? Or are you trying to avoid doing anything in the way of server-side programming?
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  7. #7
    Join Date
    Jul 2014
    Posts
    4
    Something you might consider is the fact that most email clients automatically translate URLs into hyperlinks. Keep in mind that what you're trying to do would require the "sender" to transmit the body of your mailto: email as HTML. If it doesn't (e.g. they prefer text-only), then they will be sending the HTML code for the hyperlink which may be even more obscure and confusing to the recipient.

    The best thing I would recommend from an end-user as well as implementation standpoint would be to URL encode the actual URL you're trying to send, and include that in your body parameter, as follows:

    <a href="mailto:someone@example.com?subject=Subject&amp;body=Visit us at http%3A%2F%2Fwww.google.com%2F">Link</a>

    You can use http://meyerweb.com/eric/tools/dencoder/ to URL encode your hyperlinks.

    If it becomes necessary to shorten the URL (likely the reason why you're trying to use HTML hyperlinks in an email in the first place), consider using a URL shortening service like bit.ly or something.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles