homepage Welcome to WebmasterWorld Guest from 54.196.201.253
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member
Visit PubCon.com
Home / Forums Index / Code, Content, and Presentation / JavaScript and AJAX
Forum Library, Charter, Moderator: open

JavaScript and AJAX Forum

    
Submiting things to Email using Javascript
someone788




msg:1492444
 12:28 am on Jan 15, 2006 (gmt 0)

New poster here *waves*

Ok, well, I am creating an iq test website and need some help on how to get the alert message with the score to come up, with it emailing the score to me.

Here's some of the source code for the quiz:
In the header...

<script language="JavaScript">
function tester() {
var a = 0
var b = 0
var c = 0
var d = 0
if(document.forms[0].elements[1].checked==true) {
a = 1
}
if(document.forms[0].elements[4].checked==true) {
b = 1
}
if(document.forms[0].elements[11].checked==true) {
c = 1
}
total = a + b + c + d
score = 100*total
if (total==0){
alert("Your score was 0...were you even trying?")
}
if (total > 0){
alert("Your score is "+ score +"! Great Job!")
}
}
</script>

and in the body, here is what the question setup looks like...

<form method="get" onsubmit="tester()">
1. Which number doesn't belong?
<p><input type="radio" name="R1" value="V1">714 </p>
<p><input type="radio" name="R1" value="V2">892 </p>
<p><input type="radio" name="R1" value="V3">993 </p>
<p><input type="radio" name="R1" value="V4">698 </p>
<div align="center"><center><p><input type="submit" value="Get Score"></p>
</center></div>

Currently, this only comes up with an alert box which says the score...but is there any way to make it still do that, and also email the score to me, all by pressing the submit?

Thanks in advance.

 

encyclo




msg:1492445
 2:34 am on Jan 16, 2006 (gmt 0)

Welcome to the forums someone788!

There is no way of sending an email with Javascript alone. Your only possible option is to use a server-side script (PHP, Perl, ASP) to email the form results to you.

MichaelBluejay




msg:1492446
 2:41 pm on Jan 16, 2006 (gmt 0)

To be more specific, your <FORM> line would look something like this:

<form method=yest action=myscript.cgi>

The file "myscript.cgi" is a Perl or PHP program you wrote and uploaded to the server. That program displays the results to the user and then emails you the results. Perl and PHP are not hard to learn and it's worth learning one of them, especially if you want to do things like send emails or store info in a database.

Rambo Tribble




msg:1492447
 2:46 pm on Jan 16, 2006 (gmt 0)

Here is a script demonstrating calling the email client with mailto and populating the message. Note that problems may occur if the client computer has no default email program specified.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function sendMail(_frm){
var eml="you@youraddress.com";
var bod="&body="+_frm.selOne.value+" "+_frm.txtOne.value;
var subj="?subject=Whatever you want";
location.href="mailto:"+eml+subj+bod;
}
</script>
</head>
<body>
<form action="mailto:you@youraddress.com" enctype="text/plain"
method="POST" onsubmit="sendMail(this);return false;">
<select name="selOne">
<option value="Dog">Dog</option>
<option value="Cat">Cat</option>
</select>
<textarea name="txtOne"></textarea>
<input type="submit" value="Submit" />
</form>
</body>
</html>

someone788




msg:1492448
 7:36 pm on Jan 16, 2006 (gmt 0)

Ah ok, thanks all :)

MichaelBluejay




msg:1492449
 4:08 am on Jan 17, 2006 (gmt 0)

One downside of that is that your email address is naked on the page, and spambots will pick it up and add it to their lists.

The other downside is that Javascript-dependent solutions require that the user has Javascript turned on. Most do, but some turn it off because it's the best way to block popup windows (since popups depend on Javascript).

Also, the script just calls up a new email message, it doesn't actually send. You're relying on the user to actually click Send, and maybe they won't.

If you link your <FORM> to a PHP or Perl script then you can avoid all three downsides.

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / Code, Content, and Presentation / JavaScript and AJAX
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved