Php 使用Fancybox 2发布数据

Php 使用Fancybox 2发布数据,php,jquery,ajax,fancybox-2,Php,Jquery,Ajax,Fancybox 2,我正在使用fancybox窗口中的一个表单将数据发布到php页面 如果我在Fancybox之外运行表单,它将非常有效。插入-检查。回答-检查。这就是说,如果我在Fancybox中运行相同的页面,我会得到一个加载轮(在我关闭覆盖后仍然存在) 表单(Form_test.php): 想法?试试看 现在,$.fancybox(数据)将返回(在fancybox中)您从text.php文件发送的任何内容,因此您可以从该文件中返回,如: if($query){ echo“已成功插入$name的数据!”;

我正在使用fancybox窗口中的一个表单将数据发布到php页面

如果我在Fancybox之外运行表单,它将非常有效。插入-检查。回答-检查。这就是说,如果我在Fancybox中运行相同的页面,我会得到一个加载轮(在我关闭覆盖后仍然存在)

表单(Form_test.php):

想法?

试试看

现在,
$.fancybox(数据)
将返回(在fancybox中)您从text.php文件发送的任何内容,因此您可以从该文件中返回
,如:

if($query){
echo“已成功插入$name的数据!”;
}否则{
echo“发生错误!”;
}

您可以在此答案中看到一个工作示例,其中还包括fancyboxJFK中的表单和验证,感谢您的帮助。我认为我们已经取得了一些进展。我已经用最新的代码和剩余的问题更新了这个问题。还请注意,我在表单页面中包含了jQuery和Fancybox JS(通过Ajax调用)。@rrfive:似乎您的代码在某处触发了JS错误,因此出现了加载图标。你看到了吗?做你想做的事我发现了问题,但是没有解决办法。我使用Ajax调用表单页面,但是表单页面文件存储在文件夹结构中的其他位置。如果我在我打开表单的页面中移动表单,它会工作得很好。如果我把它拉进去,死亡之轮就会旋转。我想这会缩小它的范围。@rrfive:这就是为什么我要写注释
//确保你的路径是正确的

<form id="form" method="post" action="">
    <input type="text" id="name" name="name" value="Test Name" />
    <input type="text" id="email" name="email" value="email@test.com" />
    <input type="submit" value="Login" />
</form>

<script type"text/javascript">
    $("#form").bind("submit", function () {
$.fancybox.showLoading(); // it was $.fancybox.showActivity(); for v1.3.4
$.ajax({
    type: "POST",
    cache: false,
    url: "test.php", // make sure your path is correct
    data: $(this).serializeArray(), // your were using $(form).serialize(), 
    success: function (data) {
        $.fancybox(data);
    }
});
return false;
}); // bind
</script>
$name=$_POST['name'];
$email=$_POST['email'];

$query=mysql_query("INSERT INTO members (firstName,email) VALUES('$name','$email')");
if($query){
    echo "Data for $name inserted successfully!";
}
else{
    echo "An error occurred!";
}
$("#form").bind("submit", function () {
    $.fancybox.showLoading(); // it was $.fancybox.showActivity(); for v1.3.4
    $.ajax({
        type: "POST",
        cache: false,
        url: "test.php", // make sure your path is correct
        data: $(this).serializeArray(), // your were using $(form).serialize(), 
        success: function (data) {
            $.fancybox(data);
        }
    });
    return false;
}); // bind
if($query){
  echo "<div id='message'>Data for $name inserted successfully!</div>";
} else {
  echo "<div id='message'>An error occurred!</div>";
}