Итак, вам нужно проверить форму, а затем отправить ее на сервер, который затем повторно проверяет (javascript не может быть переадресован) и отправляет почтовый запрос на почтовый сервер.
Я бы порекомендовал 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 на вашем сервере и настройка SMTP-сервера в php, но большинство серверов имеют это.
Обратите внимание на то, что PHP сейчас не подтверждает форму, поэтому, когда кто-то отправляет пустую форму, она все равно будет отправлена по электронной почте.