Php 表单提交对话框

Php 表单提交对话框,php,javascript,Php,Javascript,我有一个基本表单,它要求提供某些信息,然后使用javascript验证表单,然后将表单提交到单独的php文件中,通过电子邮件将表单提交给我。但是,成功提交表单后,它会转到空白页,然后会出现一个感谢弹出窗口。我如何设置它,使点击提交按钮不会进入新页面,而只是在当前页面上显示弹出窗口 我填写表格的代码是: <form action="send_group.php" method="post" onsubmit='return formValidator()'> //Asks to inp

我有一个基本表单,它要求提供某些信息,然后使用javascript验证表单,然后将表单提交到单独的php文件中,通过电子邮件将表单提交给我。但是,成功提交表单后,它会转到空白页,然后会出现一个感谢弹出窗口。我如何设置它,使点击提交按钮不会进入新页面,而只是在当前页面上显示弹出窗口

我填写表格的代码是:

<form action="send_group.php" method="post" onsubmit='return formValidator()'>
//Asks to input information
    <input type="submit" value="Submit" />
</form>
我的PHP代码是:

<?php
$webmaster_email = "email@email.com"; //E-mail the message will be sent to

$info = $_REQUEST['info'] ;
$info1= $_REQUEST['info1'] ;
$info2= $_REQUEST['info2'] ;
$info3= $_REQUEST['info4'] ;

mail( "$webmaster_email", "Information Form Submission",
    "Info: $info
Info1: $info1
Info2: $info2
Info3: $info3" );

echo "<script type='text/javascript'>\n";
echo "alert('Thank you for your booking request. We will get back to you as soon as possible.');\n";
echo "</script>";
?>

在脚本成功完成后,必须使用位置标头重定向用户


然后,您可以在原始表单页面上运行javascript。

在脚本成功完成后,您必须使用位置标题重定向用户


然后在原始表单页面上运行javascript。

使用XhreQuest ajax从验证页面检索信息,然后向用户显示结果。

使用XhreQuest ajax从验证页面检索信息,然后向用户显示结果。

您必须使用ajax请求。 因此,在提交按钮上绑定onclick事件,然后发送AJAX请求,当AJAX请求成功时,显示响应是否错误。
JQuery对于AJAX请求来说非常强大和简单,请看这里:

您必须使用AJAX请求。 因此,在提交按钮上绑定onclick事件,然后发送AJAX请求,当AJAX请求成功时,显示响应是否错误。
JQuery对于AJAX请求来说非常强大和简单,请看这里:

您可以使用AJAX在后台提交数据,或者更简单的选项将from和php放在同一个php文件中。

您可以使用AJAX在后台提交数据,或者更简单的选项将from和php放在同一个php文件中。

,浏览器将精确显示从php脚本接收到的内容

不使用Ajax解决问题的一种方法可能是以下方法:在处理请求后显示原始页面

header("location: your_form_page.php?req=1");
在成功的情况下,例如

header("location: your_form_page.php?req=-1");
如果发送_group.php时出错。GET参数req可用于显示感谢框或错误消息。切换逻辑当然必须已经在您的_form_page.php中实现,例如

if ($_GET['req'] == '1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Thank you for ...');\n";
    echo "</script>";
} else if ($_GET['req'] == '-1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Error ...');\n";
    echo "</script>";
}

那么,浏览器将准确地显示它从php脚本接收到的内容

不使用Ajax解决问题的一种方法可能是以下方法:在处理请求后显示原始页面

header("location: your_form_page.php?req=1");
在成功的情况下,例如

header("location: your_form_page.php?req=-1");
如果发送_group.php时出错。GET参数req可用于显示感谢框或错误消息。切换逻辑当然必须已经在您的_form_page.php中实现,例如

if ($_GET['req'] == '1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Thank you for ...');\n";
    echo "</script>";
} else if ($_GET['req'] == '-1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Error ...');\n";
    echo "</script>";
}

或者您也可以使用类似@JBENOIT的AJAX。同一枚硬币的不同面。没有办法让用户保持在同一页上吗?起初,我尝试添加headerlocation:home.html;最后,由于表单位于此处,但在成功提交后,它会转到home.html,但不会显示“谢谢”对话框。@D-Boy使用AJAX将表单提交到发送脚本,然后当发送脚本返回成功消息时,使用成功回调来显示警报。或者您可以使用类似@JBENOIT的AJAX。同一枚硬币的不同面。没有办法让用户保持在同一页上吗?起初,我尝试添加headerlocation:home.html;最后,由于表单位于此处,但在成功提交后,它会转到home.html,但不会显示“谢谢”对话框。@D-Boy使用AJAX将表单提交到发送脚本,然后当发送脚本返回成功消息时,使用成功回调来显示警报。这正是我要寻找的。谢谢这正是我想要的。谢谢