Javascript 使用jquery、ajax和mailer php脚本的联系人表单在单击submit时不会执行任何操作
我在我的网站上有一个联系人表单,我试图在用户输入信息并单击提交时实现发送到电子邮件的功能。因此,理想情况下,联系方式中的信息应该在提交后通过电子邮件发送给我。我试图实现的是使用jQuery、AJAX和从以下教程中获得的PHP mailer脚本: 问题是,当我单击Submit时,什么都没有发生,也没有重定向任何内容,说明存在错误或告诉我它成功。唯一要做的事情是表单字段被清除。我在该网站的评论中看到,mailer脚本需要特定版本的PHP,但我对PHP和后端开发没有太多经验。我知道少了些什么,只是不知道是什么。似乎缺少一些通信,我没有收到任何javascript错误。在my.html、.js和.php文件中,所有的id和name属性都匹配。文件也上传到Bluehost(当前站点所在地)。我需要在Bluehost中的某个地方安装新的PHP版本吗?感谢您的帮助。谢谢Javascript 使用jquery、ajax和mailer php脚本的联系人表单在单击submit时不会执行任何操作,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我在我的网站上有一个联系人表单,我试图在用户输入信息并单击提交时实现发送到电子邮件的功能。因此,理想情况下,联系方式中的信息应该在提交后通过电子邮件发送给我。我试图实现的是使用jQuery、AJAX和从以下教程中获得的PHP mailer脚本: 问题是,当我单击Submit时,什么都没有发生,也没有重定向任何内容,说明存在错误或告诉我它成功。唯一要做的事情是表单字段被清除。我在该网站的评论中看到,mailer脚本需要特定版本的PHP,但我对PHP和后端开发没有太多经验。我知道少了些什么,只是不知
$(document).ready(function(e) {
//e.preventDefault();
$("button").click(function(e) {
var ajax = {
isSubmitting: false,
send: function() {
if(ajax.isSubmitting == false) {
ajax.isSubmitting = true;
var userName = $("input [name=contact-name]");
var userEmail = $("input [name=contact-email]");
var userWebsite = $("input [name=contact-website]");
var userMessage = $("input [name=contact-message]");
if(userName === "" || userEmail === "" || userWebsite === "" || userMessage === "") {
alert("Please fill out all required fields.");
}
else {
$.post("mailer3.php", {
name: userName,
email: userEmail,
website: userWebsite,
message: userMessage
}, function(data) {
ajax.isSubmitting = false;
});
}
}
else alert("Send only 1 email at a time.");
}
}
});
});
PHP
Andrew从头开始,收到了要发送的电子邮件,但电子邮件中没有输入内容,只有主题。如果我搞不懂的话,也许会为这个问题再发一个问题。感谢所有花时间添加输入的人 请发布您正在使用的代码。这是全部php代码吗?还是有什么东西在这里丢了?因为它缺少一些代码-它无法以这种方式工作这是所有的PHP代码。我对PHP几乎没有什么经验,只是在网上找到了教程。但是,这是php代码。看起来确实缺少了一些东西,尤其是在单击“提交”时没有发生任何事情。感谢您的帮助。谢谢单击submit按钮时,请确保在控制台中观察php文件返回的内容,以及它是否被发布。好主意!我做到了,因为POST选项卡中的POST显示了正确的参数和正确的输入。“响应”选项卡为空。如果我错了,请纠正我,但这只是“邮寄”而不是发送。我应该在标题中查找的任何信息?谢谢
<?php
//PHP Mailer Script
if(count($_POST) > 0) {
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$message = $_POST['message'];
$header = "Content-Type: text/html\r\nReply-To:: $email\r\nFrom: $name <$email>";
$body =
@"Email sent from ".$_SERVER['REMOTE_ADDR']." at ".date("d/m/Y H:i",time())."<br />
<hr />
$message
<hr />
Email end";
if(mail("andrew@ajcwebcreations.com", "You have a new message.", $message, $header)) {
die("true");
} else {
die("Error sending message.");
}
}
?>