Go Premium for a chance to win a PS4. Enter to Win

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

Mailto a TextBox value in Javascript/Html

Hi,

First thanks for clicking

Have a Textbox called TeamString on a webpage.

Want to email the contexts of this Textbox in the mailto weblink

This is what I currently have

<a href="(mailto:entry@thefanleague.co.uk?subject=FanLeague Team String">
  Email Stuart</a>

Want the value of the Textbox to go directly in the Body of the email.

Realise ?body= goes into the anchor link. but not sure how to get the textbox value "document.Form1.TeamString.value" into the Body of the email.

Please note the TeamString Textbox is dynamically built by the user by a combination of different values in different comboboxes, so therefore each textbox is different for each user.

Many many thanks
Stuart
0
StuartK
Asked:
StuartK
2 Solutions
 
VincentPugliaCommented:
<a href="#" onclick='doit()'>  Email Stuart</a>

function doit()
{
  document.Form1.action = "mailto:entry@thefanleague.co.uk?subject=FanLeague Team String&&body=" + document.Form1.TeamString.value;
}

Problem is:  mailto: is unreliable.  It relies on the user having a mail program  and that program being set up 'properly'.  Many are not; mine, for example.

Vinny
0
 
StuartKAuthor Commented:
Hi Vinny,

Thank for replying.

Gave it a try.
Changed name of function to fit with application

It didn't work. But is definately going into function since I put an alert statement at the start.

function SendTeamString()
{
alert (document.frmEntry.TeamString.value);
document.frmEntry.action = "mailto:entry@thefanleague.co.uk?subject=FanLeague Team String&amp;&amp;body=" +
document.frmEntry.TeamString.value;
}

<a href="#" onclick='SendTeamString()'> Send Team</a>

Put this just above another function that I have, so guess I know it's in the right place.

Could it be the reliability issue you were talking about or am I missing something??

Your help is much appreciated Vinny,
Stuart


0
 
webwomanCommented:
It's EXACTLY what Vinny was talking about.

Use another machine, a different browser (or different version), and it might work fine. You don't know, you can't know, and you also can't keep the user from changing the email or make the user mail it.

Process it on the SERVER, you know it works, and works for everybody. Plus spammers can't get your email from the mailto tag, because there isn't one. ;-)

You DO realize that's how they get a lot of emails, right?
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
VincentPugliaCommented:
sorry :(

  I haven't had any espresso yet....

1)
this:    '&amp;&amp;'      should be:     '&&'

2)

function SendTeamString()
{
alert (document.frmEntry.TeamString.value);
window.location = "mailto:entry@thefanleague.co.uk?subject='FanLeague Team String'&&body=" + document.frmEntry.TeamString.value;
}

I wrote the function up as if it were for a form submission...again, sorry -- I'll go make some java now -- in case I messed up again :)
0
 
VincentPugliaCommented:
Hi webwoman :D

Stuart,
 webwoman does have a point.  However, if your site doesn't have any serverside mail support, you can break up the addy [like below]. It won't stop human spammers, but you won't have to worry about spiders.

function SendTeamString()
{
alert (document.frmEntry.TeamString.value);
  var toTxt = 'entry';
  var domainTxt = 'thefanleague.co.uk';
  window.location = "mailto:" + toTxt + '@' + domainTxt + "?subject='FanLeague Team String'&&body=" + document.frmEntry.TeamString.value;
}

espresso almost done now :)
Vinny
0
 
hyperslugCommented:
Use VincentPuglia's code with window.open:

function SendTeamString()
{
      window.open = "mailto:entry@thefanleague.co.uk?subject=FanLeague Team String&amp;body=" + document.frmEntry.TeamString.value );
}

Also, use only 1 "&amp;".  It doesn't work with two like you have above.
0
 
StuartKAuthor Commented:
Thanks to all who helped and gave comments.

Vinny, can't thank you enough mate.

Only issue was as hyperslug suggested only needed 1 "&" - Thanks HyperSlug

Works perfect mate.

People on EE always astonish me how much they know and how helpful they are.

Hi Webwomen, point taken about ServersideScript but I don't have that support yet. Oh and yes, I am spammed 100's of times a day due to Website. Thanks for comfirming my worst suspicions.

Thank you to all.
0
 
raj3060Commented:
Hi Stuart,
It was a bit tricky, anyway here is the working code,
++++++++++++++++++++++++++++++++
<html>
<head>
<title>Insert Text</title>
<script>
function mail(){
var message = document.form1.text1.value;
alert(message);
window.location="mailto:you@you.com?subject=Insert Text&body="+message+" ";
}
</script>
</head>
<body>
<form name="form1">
<textarea name="text1"></textarea>
<input type="button" onclick="javascript:mail()" value="MAIL" />
</form>
</body>
</html>
++++++++++++++++++++++++++++++++

I hope this is what you are looking for.
--Raj

0
 
VincentPugliaCommented:
Hi Stuart,

  You're welcome.  Sorry I tried answering your question with my eyes and mind still closed :D

Vinny
0
 
StuartKAuthor Commented:
Hi Raj,

God I'm really sorry mate, but Vinny gave me similiar code.

It's a perfect answer as well!! For people in the future looking for a similiar solution in the search engines, even though it's not the "Accepted Answer" it's just as good.

It's like I said previously, it astonishes me how helpful people are on EE.

I cannot thank you enough Raj. I hope you recognise my genuineness by showing the courtesy of replying to the post, mate.

My best wishes,
Stuart
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now