Php Ajax联系人表单问题-未发送电子邮件
对不起,我是个笨蛋,但我正在尽力。我已经做了,读了所有我能找到的东西,但我从来没有让它发挥作用。非常感谢你的帮助。表单id在html和javascript中匹配。PHP在Javascript中链接,我在html的头部链接了Javascript。我错过了什么?我也尝试过在网上找到的其他代码,但什么也没有。。问题是没有电子邮件被发送出去。如果点击send,页面将重新加载,仅此而已Php Ajax联系人表单问题-未发送电子邮件,php,jquery,ajax,contact,Php,Jquery,Ajax,Contact,对不起,我是个笨蛋,但我正在尽力。我已经做了,读了所有我能找到的东西,但我从来没有让它发挥作用。非常感谢你的帮助。表单id在html和javascript中匹配。PHP在Javascript中链接,我在html的头部链接了Javascript。我错过了什么?我也尝试过在网上找到的其他代码,但什么也没有。。问题是没有电子邮件被发送出去。如果点击send,页面将重新加载,仅此而已 <!--[if lte IE 8]><script src="js/html5shiv
<!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]-->
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.dropotron.js"></script>
<script src="js/skel.min.js"></script>
<script src="js/skel-panels.min.js"></script>
<script src="js/init.js"></script>
<script src="js/contact.js"></script>
<noscript>
<link rel="stylesheet" href="css/skel-noscript.css" />
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/style-noscript.css" />
</noscript>
<!-- Contact Form-->
<div class="content style4 featured">
<div class="container small">
<form id="contact" form method="post">
<div class="row half">
<div class="6u"><input type="text" class="text" name="name" placeholder="Name" /></div>
<div class="6u"><input type="text" class="text" placeholder="Email" name="email" /></div>
</div>
<div class="row half">
<div class="12u"><textarea name="text" placeholder="Message"></textarea></div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" class="button" value="Send Message" /></li>
<li><input type="reset" class="button alt" value="Clear Form" /></li>
<p class="success" style="display:none">Your message has been sent successfully.</p>
<p class="error" style="display:none">E-mail must be valid and message must be longer than 100 characters.</p>
</ul>
</div>
</div>
</form>
</div>
</div>
谢谢。也许您的js代码在jQuery加载之前就已经运行了。尝试在其他js文件之前包含jQuery:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="js/jquery.dropotron.js"></script>
<script src="js/skel.min.js"></script>
<script src="js/skel-panels.min.js"></script>
<script src="js/init.js"></script>
<script src="js/contact.js"></script>
顺便说一句,您只需要包含jQuery一次,而不是两次。您的textarea有一个name=消息,而您正在提交处理程序代码中查找isset$\u POST['text'],但问题到底是什么?您包含jQuery两次;有什么原因吗?抱歉我编辑了这篇文章。问题是没有电子邮件被发送出去。如果点击send,页面将重新加载,仅此而已。正在重复哪个Jquery代码?如果对上面的代码以及服务器端的代码进行了所有请求的更改,那么页面将重新加载,并且我从未收到电子邮件。还有什么主意吗?谢谢,我两个都试试。一个Jquery代码比另一个更好吗?1.10.1.min或query-migrate-1.2.1..?您只需删除包含的第一个jQuery链接,CDN总是更好:好的,我已经实现了两个答案,但仍然没有实现。屏幕闪烁/重新加载页面,我从未收到电子邮件。还有其他想法吗?好吧,我已经实现了两个答案,但仍然一无所获。屏幕闪烁/重新加载页面,我从未收到电子邮件。对不起,这个愚蠢的问题。我尝试了你所说的,但没有收到任何电子邮件。查看你的PHP代码,你正在尝试从$_POST['text']获取用户消息的值。但是,您的HTML定义了一个文本区域,用户可以在其中键入OK,这应该是您在上面的代码中询问的方式。是否正确?在javascript代码中也更改其引用:当前尝试从消息字段获取数据,但该字段不存在:var message=$message.val;
$('#contact').submit(function() {
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
var dataString = 'name=' + name + '&email=' + email + '&message=' + message;
$.ajax({
type : "POST",
url : "mail.php",
data : dataString,
cache : false,
success : function() {
$("#contact").fadeOut(300);
$("#notice").fadeIn(400);
}
});
return false;
});
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="js/jquery.dropotron.js"></script>
<script src="js/skel.min.js"></script>
<script src="js/skel-panels.min.js"></script>
<script src="js/init.js"></script>
<script src="js/contact.js"></script>