index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Simple API Form Ajax</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(function() {
$("#submit").click(function()
{
var falseFlag = 0;
if( document.getElementById('yourName').value == '' )
{
falseFlag = 1;
}
if( document.getElementById('email').value == '' )
{
falseFlag = 1;
}
if( document.getElementById('goiken').value == '' )
{
falseFlag = 1;
}
if(falseFlag == 1)
{
window.alert("未入力の項目がありますよ!");
return false;
}
$.ajax({
url: 'api.php',
type: 'post',
dataType: 'json',
data: {
yourName : $('#yourName').val(),
email : $('#email').val(),
goiken : $('#goiken').val()
},
})
.done(function(response){
// フォームデータ表示の削除
$('#yourName').val('');
$('#email').val('');
$('#goiken').val('');
// APIに返されたデータを受け取り表示する
$('#result').append(response.data);
$('#message').append('<strong style="color : green;">ご応募有難う御座います。<strong>');
})
.fail(function(){
$('#message').append('<strong style="color : red;">送信に失敗しました。時間を置いてもう一度お試し下さい。</strong>');
})
});
});
</script>
<style>
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section { display: block; }
</style>
</head>
<body>
<lable>お名前</label>
<input type="text" id="yourName" name="yourName" value=""><br/>
<lable>メールアドレス</label>
<input type="text" id="email" name="email" value=""><br/>
<lable>ご意見</label>
<textarea id="goiken" name="goiken" value=""></textarea><br/>
<input type="button" id="submit" value="送信"><br/>
<div id="result" value=""></div>
<div id="message"></div>
</body>
</html>
api.php
<?php
// API
header('Content-Type: application/json');
$data = "{$_POST['yourName']}さん({$_POST['email']}) ご意見<hr/>{$_POST['goiken']}<hr/>";
echo json_encode( compact('data') );
// メール送信
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$to = 'kanehiro@sys-guard.com';
$subject = 'アンケートフォーム';
$message = "
お名前:{$_POST['yourName']}さん
メールアドレス:{$_POST['email']}
ご意見:{$_POST['goiken']}
";
$headers = 'From: from@hoge.co.jp' . "\r\n";
mb_send_mail($to, $subject, $message, $headers);

