gpt4 book ai didi

php - jQuery/Ajax 联系表单不起作用

转载 作者:行者123 更新时间:2023-12-01 05:56:11 24 4
gpt4 key购买 nike

我是 jQuery 新手。我正在尝试提交联系表格,并显示一条感谢您提供反馈的消息。我查看了 NetTuts+ 上的教程。我的表单未提交。这是我的代码:

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 = 'varma.anirudh12@gmail.com';
$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 {

}

?>

问题是按下提交按钮后没有任何反应。 JavaScript 控制台上没有错误。我认为我的 php 不正确并且没有监听 Ajax 数据,因为 apache 的错误日志显示 PHP 注意: undefined index :dataString

我哪里出错了?谢谢

编辑:我在 ubuntu 计算机上的本地主机上运行此程序,我已经设置了邮件服务器并使用测试电子邮件对其进行了测试

最佳答案

您应该尝试以下操作:

$.post("mailer.php", { name: "John", email: "jsmith@xyz.com" } );

关于php - jQuery/Ajax 联系表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15425854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com