fanybox PHP表单提交问题


FancyBox PHP form submit issue

好的,所以我在过去的四天里一直有一个问题,几个小时前,我想我可能已经解决了一部分(fancybox的例子#5,在他们的网站上,似乎是我想要的东西),但是,我不能让它的任何部分工作。

    <?  if($_GET['page'] != "startTime"){ ?>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="/./fancybox/jquery.mousewheel-3.0.2.pack.js"></script>
    <script type="text/javascript" src="/./fancybox/jquery.fancybox-1.3.1.js"></script>
    <link rel="stylesheet" type="text/css" href="/./fancybox/jquery.fancybox-1.3.1.css" media="screen" />
    <script type="text/javascript">
        $(document).ready(function() {
            $("#startTime").fancybox({
            'padding'       : 0,
            'scrolling'     : 'no',
            'titleShow'     : false,
            'onClosed'      : function() {
            $("#login_error").hide();}
            })
        });
        $("#startTimeForm").bind("submit", function() {
        if ($("#year").val().length < 4) {
            $("#login_error").show();
            $.fancybox.resize();
            return false;
        }
        $.fancybox.showActivity();
        $.ajax({
            type    : "POST",
            cache   : false,
            url     : "downTime.php?page=ajax",
            data    : $(this).serializeArray(),
            success : function(data) {
                $.fancybox(data);
            }
        });
        return false;
        });
    </script>
<? } ?>
<? if($_GET['page'] == "ajax"){
var_dump($_POST); } ?>
<? if($_GET['page'] == "startTime"){?>
<div style="width:250px" class="new">
  <table cellpadding="0" cellspacing="0" border="0" width="100%" class="new">
   <tr>
   <form id="startTimeForm" method=post>
    <p id="login_error">Please, enter data</p>
   <tr>
    <td>Enter Year</td>
    <td><input class="czas" id="sec" name="year" type="text" size="5" maxlength="5" value="00" /></td></tr>
   <tr>
    <td colspan="2" align="center"><br /><input class="czas" type="submit" name="newTime" value="Set Start Time" /></td></tr>
   </form>

我还在下面使用了一个javascript函数,我最终希望它能在上面的代码中工作,但我不能让上面的工作正常。它什么也不做。Firebug也不报告错误。

<script>
    function closeFB() {
    <? $unix = mktime(0, 0, 0, 1, 1, $_POST['year']); ?>
    $("#startTimeDiv").html("<div id='message'></div>");
    $("#message").html("<p>Contact Form Submitted!</p>")
    .append("<p>We will be in touch soon.<br><? echo $unix; ?></p>");
    $.fancybox.close(); 
    }
    </script>

所以,任何帮助都会很感激。请告诉我哪里做错了。

这里的演示可以解决这个问题。它产生了另一个问题,但这是另一个问题。我相信那是你的演示,JFK,所以谢谢你

$.ajax({
        type    : "POST",
        cache   : false,
        url     : "downTime.php?page=ajax",
        data    : $(this).serializeArray(),
        success : function(data) {

而不是:

            $.fancybox(data);

            $("#fancyboxdiv").fancybox(data);
        }
    });

其中fancyboxdiv是存放fancybox的元素名。

将其他函数更改为

$("#fancyboxdiv").fancybox().close() 

等。大多数JQuery UI组件需要一个元素作为它的父元素,它通常会修改该元素,添加/删除元素并更改CSS以获得所需的外观