ajaxリクエストでメールを送信するためのjquery関数があります。
function sendMail(from,to,subject,message){
var datastr="from="+from+"&to="+to+"&subject="+subject+"&message="+message;
$.ajax({
type: "POST",
url: "mail.php",
data: datastr,
cache: false,
success: function(html){
return true;
},
error: function(jqXHR,status,error){
return false;
}
});
}
ここで、メールが正常に送信されたかどうかをユーザーに通知します。
$("#feedback").html("Sending email...");
if(sendMail("from@email.com","to@email.com","MySubject","MyMessage"))
$("#feedback").html("Email sent.");
else
$("#feedback").html("Error sending email.");
しかしもちろん、jQueryはメールが送信される前にif条件を処理するため、条件はfalseです:-( sendMailが完了して何かを返すまで待つようにjQueryに指示するにはどうすればよいですか?