我使用简单的PHP代码从我的网站发送邮件
<?php
$headers ="From:<$from>\n";
$headers.="MIME-Version: 1.0\n";
$headers.="Content-type: text/html; charset=iso 8859-1";
mail($to,$subject,$body,$headers,"-f$from");
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$recipient = "contato@pedrogps.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thanks for your message";
?>
当我提交电子邮件时,它会带来另一个页面(mail.php)和#34;感谢您的留言&#34;消息。
如何在不切换页面的情况下在html页面中显示此消息。
答案 0 :(得分:0)
如果您不想加载网页,则在提交时,您需要一些JavaScript。
<form id="mailForm">
<input type="text" name="name">
<input type="text" name="email">
<input type="text" name="message">
<input type="submit" value="Send">
</form>
<div id="result"></div>
<script>
$('#mailForm').submit(function(e) {
e.preventDefault();
var formData = $('#mailForm').serialize();
var url = "mail.php";
var posting = $.post(url, formData);
posting.done(function(data) {
$("#result").append(data);
});
});
</script>
请记住加载jQuery库,在此处阅读有关jQuery的更多信息:https://learn.jquery.com/about-jquery/how-jquery-works/。在这里阅读有关jQuery.post()的更多信息:https://api.jquery.com/jquery.post/
如果你不关心网页是否加载,在提交时,你可以轻松地使用PHP中的include
功能。
<form id="mailForm" method="POST">
<input type="text" name="name">
<input type="text" name="email">
<input type="text" name="message">
<input type="submit" name="mail" value="Send">
</form>
<div id="result">
<?php
if(isset($_POST['mail']))
{
include("mail.php");
}
?>
</div>
也许你应该检查更多的东西,而不仅仅是设置$_POST['mail']
,但你会明白这一点。
答案 1 :(得分:0)
有两种方法可以使用AJAX,另一种方法是使用:
将表单操作设为空,如
<form name="form1" action="" method="post">
在表单开始之前或页面顶部写下这个php代码:
if(isset($_POST)){
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$recipient = "contato@pedrogps.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thanks for your message"; // store this msg in a variable and display wherever you required to echo
}