jQuery를 처음 사용합니다. 문의 양식을 제출하려고하는데, 디스플레이에 피드백 메시지를 보내주십시오. NetTuts +에서 자습서를 보았습니다. 내 양식이 제출되지 않았습니다. 여기 내 코드입니다 :jQuery/Ajax 문의 양식이 작동하지 않습니다.
jQuery를
<script src="jquery.js"></script>
<script>
$(document).ready(function() {
$('.error').hide();
$("#submitButton").click(function() {
$('.error').hide();
var name = $("input#name").val();
if (name == "") {
$("label#name_error").show();
$("input#name").focus();
return false;
}
var email = $("input#email").val();
if (email == "") {
$("label#email_error").show();
$("input#email").focus();
return false;
}
var companyName = $("#usermessage").val();
if (companyName == "") {
$("label#message_error").show();
$("input#usermessage").focus();
return false;
}
var subject=$("#subject option:selected").text();
var dataString = 'name='+ name + '&email=' + email + '&message=' + companyName;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "mailer.php",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Submitted!</h2>")
.append("<p>We will be in touch soon.</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("Thank you");
});
}
});
return false;
});
});
</script>
PHP
<?php
$mailTo = '[email protected]';
$name = htmlspecialchars($_POST['name']);
$mailFrom = htmlspecialchars($_POST['email']);
$subjectNumber = htmlspecialchars($_POST['subject']);
$message_text = htmlspecialchars($_POST['msg']);
switch ($subjectNumber)
{
case 0:
$subject='Sales';
break;
case 1:
$subject='Careers';
break;
case 2:
$subject='Other';
break;
}
$dataString=htmlspecialchars($_POST['dataString']);
//$message = 'From: '.$name.'; Email: '.$mailFrom.' ; Message: '.$message_text;
$sendcon=mail($mailTo, $subject, $message);
if (isset($_GET["ajax"])) {
echo $sendcon ? "success" : "error";
} else {
}
?>
문제는 제출 버튼을 누르면에 그 인은 아무 일도 발생하지 않습니다. 자바 스크립트 콘솔에는 오류가 없습니다. 아파치의 오류 로그에 PHP Notice: Undefined index: dataString
이 나와 있기 때문에 제 PHP가 올바르지 않고 Ajax 데이터를 듣지 않는다고 생각합니다.
어디로 가고 있습니까? 감사
는는 편집 : 나는 우분투 시스템에 로컬 호스트에서이 작업을 실행하고, 나는 메일 서버를 설정하고
크롬 -> 네트워크로 가서 "제출"을 클릭하면, 의뢰. 서버로 데이터를 올바르게 전달하는 것처럼 양식이 보이나요? –
HTML 양식 코드 게시 – Samy
ajax 호출에서 데이터로 설정 한 url에 dataString이 없습니다. – EmCo