Php 提交表单后,如果不刷新页面,则无法显示成功或错误消息
我想在不刷新页面的情况下创建电子邮件联系人表单。所以我使用jquery来实现这一点。现在提交表单后,我想向用户发送成功或错误消息。这是我的密码: index.htmlPhp 提交表单后,如果不刷新页面,则无法显示成功或错误消息,php,jquery,html,Php,Jquery,Html,我想在不刷新页面的情况下创建电子邮件联系人表单。所以我使用jquery来实现这一点。现在提交表单后,我想向用户发送成功或错误消息。这是我的密码: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML5 Contact Form</title
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5 Contact Form</title>
<link rel="stylesheet" media="screen" href="styles.css" >
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$('#mycontactform').submit(function(e){
e.preventDefault();
$.post("contact.php", $(this).serialize(), function(response) {
$('#success').html(response);
//$('#success').hide('slow');
});
});
});
</script>
</head>
<body>
<form id="mycontactform" class="contact_form" action="" method="post" name="contact_form">
<ul>
<li>
<h2>Contact Us</h2>
<span class="required_notification">* Denotes Required Field</span>
</li>
<li>
<label for="name">Name:</label>
<input type="text" id="name" name="name" placeholder="John Doe" required />
</li>
<li>
<label for="email">Email:</label>
<input type="email" name="email" id="email" placeholder="john_doe@example.com" required />
<span class="form_hint">Proper format "name@something.com"</span>
</li>
<li>
<label for="message">Message:</label>
<textarea name="message" id="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" id="submit" style="cursor:pointer" type="submit">Submit Form</button>
<div id="success" style="color:red;"></div>
</li>
</ul>
</form>
</body>
</html>
HTML5联系方式
$(文档).ready(函数(){
$('mycontactform')。提交(函数(e){
e、 预防默认值();
$.post(“contact.php”,$(this).serialize(),函数(响应){
$('#success').html(回复);
//$('success')。隐藏('slow');
});
});
});
-
联系我们
*表示必填字段
-
姓名:
-
电邮:
“正确格式”name@something.com"
-
信息:
-
提交表格
contact.php
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = 'babloopuneeth@gmail.com';
$subject = 'Message from a site visitor '.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) {
echo "Your email was sent!";
} else {
echo "Your email was not sent!";
}
?>
现在在提交表单之后,如果邮件发送成功,我希望显示php的if语句,如果邮件未发送,则执行else语句。但是我在提交表单后没有收到成功或错误消息,也没有收到任何邮件?我哪里做错了?我的jquery代码提交表单而不刷新页面是否正确?请有人帮帮我,你正在将数据传递到另一个页面。您需要将要显示的消息传递回原始页面,然后它才会显示。您可以使用jQuery来实现这一点 您可以在页面上放置一个div作为占位符
<div id="message"></div>
然后将contact.php的输出加载到它中检查浏览器中的javascript控制台和网络选项卡是否有错误。您需要使用javascript提交它,读取mesage并将其显示给用户。尝试搜索AJAXIt,它看起来像javascript行
返回false
和两个})下面的代码>不应该出现,可能会导致脚本错误。@JasonP:括号中的内容是关闭前两个functions@PuneethP我不同意。请参见此处:。如果您查看javascript控制台,您可以看到错误。感谢您的回复,但实际上我没有完全理解您。你能帮我查一下密码吗?