フォームを検証してからサーバーに送信する必要があるように聞こえますが、その後再検証し (javascript は推力できません)、メール要求を電子メール サーバーに送信します。
フォームを再検証し、要求を電子メール サーバーに送信するサーバーには PHP をお勧めします。PHP は簡単で、幅広くサポートされているからです。
このHTMLがあるとします
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="script.js"></script>
<form id="emailForm" method="post" action="mail.php">
<input type='text' name='firstName' id="firstName"><br>
<input type='text' name='lastName' id='lastname'><br>
<input type='submit' value='submit' name='submit'>
</form>
JavaScript と jQuery を使用して、ユーザーがすべてのフィールドに何かを入力したことを確認できます。あなたが持っているファイルscript.jsで言ってください:
var formIsOkay = true;
$(document).ready( function() {
$('#emailForm').submit( function() {
$('#emailForm input').each( function() {
if ( this.val() == '' ) { formIsOkay = false; }
}
return formIsOkay;
}
}
そして、email.php では次のようになります。
<?php
$to = 'email@domain.com';
$from = 'email@domain.com';
$subject = 'Form';
$message = 'Hello, the following variables were supplied:<br>';
foreach($_POST as $key => $val){
$message .= "$key = $val<br>";
}
$message = wordwrap($message, 70);
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "To: $to" . "\r\n";
$headers .= "From: $from" . "\r\n";
mail($to, $subject, $message, $headers);
?>
これにはサーバーで PHP を実行し、PHP で SMTP サーバーをセットアップする必要がありますが、ほとんどのサーバーにはこれがあります。ところで、PHP は現在フォームを再試行しないことに注意してください。そのため、誰かが空のフォームを送信しても、メールで送信されます。