페이지를 다시로드하지 않고 AJAX를 사용하여 연락처를 제출하고 있지만 메시지 본문을 보내려고 시도 할 때를 제외하고는 아무 것도 보내지 않습니다. to와 subject 부분은 잘 작동하고, 몸이 보려고 할 때 나는 아무것도 볼 수 없습니다. 나는 그것을 strickly PHP 함수를 실행하고 본문을 작동 테스트, 그냥 페이지를 다시로드하고 난 왜 여기에 작동하지만, 아약스와 함께 모르겠어요. 누군가가 약간의 빛을 비출 수 있다면 그것은 좋을 것입니다, 고마워요. 그 도움을PHP 메일 기능 + ajax = 나를 좌절
<div class="divider" id="contact">
<p class = "header"><a id="contactheader" name="gocontact">Contact</a></p>
<div id = "contactform">
<form method = "post" id="contactform" action="<?php site_url()?>index.php/home/sendemail">
<div id ="formtitles">
<p class = "info">You:</p>
<p class = "info">Me:</p>
<p class = "info">Subject:</p>
<p class = "info">Body:</p>
<input id = "submit" type="submit" value="Send" />
</div>
<div id ="formfields">
<input id="you" type="text" name="you" /><br/>
<p class = "info">[email protected]</p>
<input id ="subject" type="text" name="subject" /><br/>
<textarea id = "contactbody" name="contactbody"></textarea>
</div>
</form>
</div>
</div>
감사합니다 도움이된다면
의 .js 여기
$(document).ready(function() {
$('#submit').click(function() {
var contactformdata = {
you: $('#you').val(),
subject: $('#subject').val(),
message: $('#contactbody').val(),
}
$.ajax({
url: "http://www.trenthauck.com/index.php/home/sendemail",
type: 'POST',
data: contactformdata,
success: function() {
$('#contactheader').replaceWith("<p class='header'>Thanks</p>");
$('#contactform').remove();
$('#contactlink').remove();
$(document).scrollTop(25);
}
});
return false;
});
});
는
function sendemail(){
$to = "[email protected]";
$from = $this->input->post('you');
$subject = $this->input->post('subject');
$message = $this->input->post('contactbody');
$tosend = "From: " . $from . "\nMessage: " . $message;
mail($to, $subject, $message);
$this->index();
}
그리고 양식을 PHP 함수 (BTW, CI를 사용)입니다
jquery에서
? 또한'mail()'호출의 반환 값을 확인하십시오. 거짓이면 뭔가 잘못되었습니다. (행운을 빈다 * 알아 낸다. 그러나 내장 된 메일 오류 검사는 존재하지 않는다.) – Charles