좋아, 긴 이야기를 짧게 만들려면 :jQuery/PHP 메일은 쉬운 방법을 보냅니 까?
자바 스크립트 :
jQuery("submit").click(function() {
var address = jQuery("#mail").val();
var title = jQuery("#title").val();
var name = jQuery("#name").val();
var mail = jQuery("#email").val();
var message = jQuery("#msg").val();
alert(address);
alert(title);
alert(name);
alert(mail);
alert(message);
jQuery.post("sendmail.php",
{address: address, title: title, name: name, mail: mail , message: message},
function(data){
jQuery("#email").html("<div id='sent'><p>Thank you for the message.</p><p>We will reply as soon as possible.</p></div>");
alert('sent');
});
return false;
});
원활하게 작동 (모든 값을 경고에 표시) div "보낸"표시하지 마십시오. 그리고 실제 우편물을 보내지 않습니다.
sendmail.php가 올바른 위치에 있고 코드가 다음과 같습니다.
<?php
// getting variables from form
$emailTo = trim($_REQUEST['address']);
$subject = trim($_REQUEST['title']);;
$name = trim($_REQUEST['name']);
$emailFrom = trim($_REQUEST['mail']);
$message = $_REQUEST['message'];
// prepare email body text
$Body = "You have a message from: ";
$Body .= $name;
$Body .= "\n";
$Body .= "\n";
$Body .= $message;
// send prepared message
$sent = mail($emailTo, $subject, $Body);
//callback for jQuery AJAX
if ($sent){
echo 'sent';
}
else{}
print_r($_REQUEST); die();
?>
업데이트 된 jQuery 코드도 작동하지 않습니다.
jQuery("#contact-form-send").click(function() {
var address = jQuery("#contact-form-mail-address").val();
var title = jQuery("#contact-form-mail-title").val();
var name = jQuery("#contact-form-name").val();
var mail = jQuery("#contact-form-email").val();
var message = jQuery("#contact-form-message").val();
var data = "&address=" + address + "&title=" + title + "&name=" + name + "&mail=" + mail + "&message=" + message;
jQuery.ajax({
type: "POST",
url: "sendmail.php",
data: data,
success: function(){
jQuery(".email-us").html("<div id='email-sent'><p>Thank you for the message.</p><p>We will reply as soon as possible.</p></div>");
}
});
return false;
});
@ kjy112, 물론, 나는 그것에 대한 작업을하고 있습니다 :) 나는 완전히 첫 번째 게시물을 업데이트했습니다. 아마 문제를 찾을 수있을 것입니다. 하지만 우선 저는 .ajax로 메소드를 검사 할 것입니다. – anonymous
당신은 else 문을 그 안에 아무것도 넣지 않고 닫았습니다 ... 아마도'print_r ($ _REQUEST);'? – kjy112
@ kjy112, sendmail.php 출력에 액세스 할 수없는 방식으로 아무 것도 변경하지 않고 "submit"을 클릭하면 div가 나타납니다. 아무것도 더. sendmail.php 로의 리다이렉트는 없다. – anonymous