나도 같은 일반적인 AJAX 코드를 사용하여 여러 연락처 양식이 있습니다 요컨대오류 메시지
$(document).ready(function() {
$('#mainMail').submit(function() {
$.ajax({
type: "POST",
url : "<?php echo home_url(); ?>/wp-content/themes/retlehs-roots-f45f4f5/assets/bin/process.php",
data: $(this).serialize(),
success: function() {
$('#enquiryBox #submitSuccess').removeClass('hidden');
setTimeout(function() { $("#enquiryBox #submitSuccess").addClass('hidden'); }, 15000);
},
error: function() {
$('#enquiryBox #submitFail').removeClass('hidden');
setTimeout(function() { $("#enquiryBox #submitFail").addClass('hidden'); }, 15000);
}
});
return false;
});
});
, 성공적 형식과 (process.php를 통해) 이메일 나를 제출 #submitSuccess
div가 표시됩니다. 문제는 실패했을 때 div 도 (#submitFail
div 숨겨진 상태)입니다.
나는 process.php가 성공적으로 호출되지 않은 경우에만 ajax 게시 실패가 발생하기 때문이라고 추측합니다. 이것을 조정할 방법이 없으므로 process.php를 통해 전자 메일이 전송되지 않으면 사용자에게 오류 메시지가 표시됩니다.
여기 내 process.php 코드입니다 :
<?php
$robotest = $_POST['robotest']; //just testin' for robots
$recipient = "[email protected]"; //recipient
$email = ($_POST['email']); //senders e-mail adress
if((filter_var($email, FILTER_VALIDATE_EMAIL)) && ($robotest == "")) {
$Name = ($_POST['name']); //senders name
$mail_body = "Hello, \r\n \r\n";
$mail_body .= "You have received a new booking with the following details: \r\n\r\n";
$mail_body .= "{$_POST['comments']}; \r\n \r\n";
$mail_body .= "Please respond to the customer within 30 minutes on the following phone number: {$_POST['phone']} \r\n";
$mail_body .= "Warm regards, \r\n";
$mail_body .= "Robot. \r\n";
$subject = "Free Consult Inquiry"; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
mail($recipient, $subject, $mail_body, $header); //mail command :)
} else {
print "You've entered an invalid email address!";
}
?>
합니다 (print "you've entered an invalid email address!"
했다 나의 오류 메시지에서 시도,하지만 작동하지 않습니다 중 하나 ...) 오류 블록에이 줄 $("#enquiryBox #submitSuccess").addClass('hidden');
추가
눈부신데, 훌륭하게 작동합니다. 건배! – Jascination