Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交表单后,如果不刷新页面,则无法显示成功或错误消息_Php_Jquery_Html - Fatal编程技术网

Php 提交表单后,如果不刷新页面,则无法显示成功或错误消息

Php 提交表单后,如果不刷新页面,则无法显示成功或错误消息,php,jquery,html,Php,Jquery,Html,我想在不刷新页面的情况下创建电子邮件联系人表单。所以我使用jquery来实现这一点。现在提交表单后,我想向用户发送成功或错误消息。这是我的密码: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML5 Contact Form</title

我想在不刷新页面的情况下创建电子邮件联系人表单。所以我使用jquery来实现这一点。现在提交表单后,我想向用户发送成功或错误消息。这是我的密码:

index.html

        <!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控制台,您可以看到错误。感谢您的回复,但实际上我没有完全理解您。你能帮我查一下密码吗?