※ ChatGPTを利用し、要約された質問です(原文:jqueryでAJAX非同期通信をしてphpからメールを送信する。送信)
jqueryでAJAX非同期通信をしてphpからメールを送信する
このQ&Aのポイント
jqueryを使用してAJAX非同期通信を行い、phpからメールを送信します。
送信が完了した後には、lightbox風のメッセージを表示します。
sendmail.phpにpostでフォームの内容を渡す方法と、sendmail.phpの$msgを表示する方法を教えてください。
jqueryでAJAX非同期通信をしてphpからメールを送信する。送信
jqueryでAJAX非同期通信をしてphpからメールを送信する。送信完了後にlightbox風に「送信しました」と表示させたい。
sendmail.phpにpostでフォームの内容が渡りません。どうやってsendmail.phpに値を渡して
sendmail.phpの$msgを戻して、表示させるのでしょうか?
素人です。1週間ほど調べましたが、これが限界でした。
宜しくお願いします。
index.php
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){
$("#exeBtn").click(function() {
$.ajax({
url : "sendmail.php",
type : "post",
data : ({ message: $('#message').val(),{off:$('#exeBtn').val()}),
datatype:'json',
success: function(
dispMsg(){
if('<?=$msg?>' != ''){
alert('<?=$msg?>');
}
}},
});
});
});
//]]>
</script>
</head>
<body>
<form>
<input id="message" type="hidden" name="message" value="EntryTitle"/>
<input id="exeBtn" type="button" name="off" value="リンク切れ" />
</form>
</body>
</html>
sendmail.php
<?php
header(’Content-Type: text/xml; charset=UTF-8′);
$off=$_POST["off"];
$body = stripslashes($_POST['message']);
if ($off != ""){
$to = "hogehoge@hogehoge.co.jp";
$subject = "報告";
$subject=mb_convert_encoding($subject,"JIS","utf-8");
$body=mb_convert_encoding($body,"JIS","utf-8");
$ret = mb_send_mail($to,$subject,$body);
if($ret){
$msg = '送信しました';
}else{
$msg = '送信失敗しました';
}
}
}
?>
お礼
出来ました。 本当にありがとうございました。