INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Creating MAILTO Links

How do I e-mail the contents of a form -- without server-side help? by EdwardMartinIII
Posted: 21 Mar 03

In most cases, the contents of a form are best handled by a server-side script, say a Perl or ASP bit of business.  But in some cases, you don't need all that.  In some cases, you just want a bunch of stuff sent from a form.  Nothing fancy or encoded or error-checked, just send the darn data.

This'll do that.

As I mentioned, there's no encryption or error checking or anything like that.  Also, it only works if the client box also has an e-mail client that understands the "mailto:" link.  Basically, if your client-User can use "mailto:" then they can use this.

Also, I think it might only work in IE.  If you find that it works elsewhere, or you want to modify it to work elsewhere, let me know and I'll update this question.

Also, it shares e-mail addresses of the client-User.  For most things, I don't think this is a problem.  It usually pops up a little warning window that covers these bases.

This is a sample document -- run it and check it out and then modify it as you need for your own application.

Save this as "Sample.html"


<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
    <title>Send Out The Data</title>
    <link rel="stylesheet" href="Style.css" type="text/css"></link>
    <script src="sample.js" type="text/javascript"></script>
  </head>
  <body>
  <h3>Submissions Form</h3>
  <form name="SubmissionForm" action="mailto:HungryMan@DonnerParty.com" enctype="multipart/form-data">
    <table class="Fatscope">
      <tr>
        <td class="DescriptorCell">Function Name:</td>
        <td class="ContentCell"><input type="text" size="100" id="FunctionName"></input></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Module which contains Function:</td>
        <td class="ContentCell"><input type="text" size="100" id="ModuleName"></input></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Module Location:</td>
        <td class="ContentCell"><input type="text" size="100" id="ModuleLocation"></input></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Function Description:</td>
        <td class="ContentCell"><textarea cols="75" rows="5" id="FunctionDescription"></textarea></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Function Parameters:</td>
        <td class="ContentCell"><input type="text" size="100" id="FunctionParameters"></input></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Function Example Call:</td>
        <td class="ContentCell"><input type="text" size="100" id="FunctionExample"></input></td>
      </tr>
      <tr>
        <td class="DescriptorCell">Programmer Name:</td>
        <td class="ContentCell"><input type="text" size="100" id="ProgrammerName"></input></td>
      </tr>
    </table>
    <p class="CenteredContent"><input type="reset" value="Clear All Entries" class="PDButton"></input></p>
  </form>

  <form name="ProxyForm" enctype="text/plain" method="post" action ="mailto:HungryMan@DonnerParty.com?subject=Reuseable Code Library Submission" onsubmit="update_message_body();return true;">
    <p class="CenteredContent"><input type="submit" value="Submit New Function" class="PDButton"></input></p>
    <input type="hidden" id="MessageBody" name="MessageBody"></input>
  </form>
  </body>
</html>


Obviously, this uses an external stylesheet called "Style.css", which you can tell from the class calls, but don't let that bother you -- it's just things like background colors, etc.  Also, it should be obvious that I trimmed away a bunch of content that is proprietary, but again, it shouldn't be a problem.

Here's the external JavaScript file, which should be saved as "sample.js":


function update_message_body()
  // This function composes an e-mail message using the contents of
  // another form on the same page.
  {
    var FunctionName = document.SubmissionForm.FunctionName.value;
    var ModuleName = document.SubmissionForm.ModuleName.value;
    var ModuleLocation = document.SubmissionForm.ModuleLocation.value;
    var FunctionDescription = document.SubmissionForm.FunctionDescription.value;
    var FunctionParameters = document.SubmissionForm.FunctionParameters.value;
    var FunctionExample = document.SubmissionForm.FunctionExample.value;
    var ProgrammerName = document.SubmissionForm.ProgrammerName.value;
    var CurrentDate = new Date();

    document.ProxyForm.MessageBody.value = "\n\n" + "-= Start of Message =-" + "\n\n"
                                            + "Reuseable Code Library Submission" + "\n\n"
                                            + "Time received: " + CurrentDate + "\n\n"
                                            + "Function Name: " + FunctionName + "\n\n"
                                            + "Module Name: " + ModuleName + "\n\n"
                                            + "Module Location: " + ModuleLocation + "\n\n"
                                            + "Function Description: " + FunctionDescription + "\n\n"
                                            + "Function Parameters: " + FunctionParameters + "\n\n"
                                            + "Function Example Call: " + FunctionExample + "\n\n"
                                            + "Submitted by: " + ProgrammerName + "\n\n" + "-= End of Message =-";
    return true;
  }


So, if the mail client is hooked to the browser right, this ought to send the contents of the form to "HungryMan@DonnerParty.com".

I suggest you change that address.  

Hope that helps!

Edward Martin III

Back to HTML, XHTML & CSS FAQ Index
Back to HTML, XHTML & CSS Forum

My Archive

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close