jQuery工具覆盖 - 加载表单但不传递$ _POST变量?

时间:2011-02-08 02:49:18

标签: php jquery post jquery-tools

说我有info.php页面,其中包含用户信息(ID,姓名,年龄等)。

在此页面上,有一个“修改”按钮,可将用户带到edit.php上的表单,以便他们更改信息。表单通过带有id,name,age等的$ _POST填充。

edit.php有一个“更新”按钮,可以使用更新的数据回发到info.php。一切正常。

但是当我尝试在jQuery Tools Overlay弹出窗口中加载edit.php时,edit.php中的表单会出现,但变量不会传递。相反,它们都显示为“未定义”。

我不知道在哪里放置所需的href元素,以便在叠加层内部将我的变量传递给edit.php

有什么想法吗?

    <form action="edit.php" method="post">
    <input type="hidden" name="edit" value="yes" />
    <input type="hidden" name="id" value="<?php echo $row[1] ?>" />
    <input type="hidden" name="name" value="<?php echo $row[2] ?>" />

<!-- this is the required href to trigger overlay -->
    <a href="edit.php" rel="#overlay" style="text-decoration:none">

         <input type="submit" value="Edit"/>

    </a>

    </form>

<div class="apple_overlay" id="overlay"> 

<!-- the external content is loaded inside this tag --> 
<div class="contentWrap"></div> 

</div> 

<!-- make all links with the 'rel' attribute open overlays --> 
<script> 

$(function() {

    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay({

        mask: 'darkred',
        effect: 'apple',

        onBeforeLoad: function() {

            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));
        }

    });
});
</script>

2 个答案:

答案 0 :(得分:1)

我对这个问题感到有些困惑,但这可能就是你要找的......

您需要在网址中传递ID并查找数据服务器端或传递网址中的所有数据,如此

<a href="edit.php?id=<?php echo $row[1] ?>&name="<?php echo $row[2] ?>" rel="#overlay" style="text-decoration:none">

答案 1 :(得分:0)

另一种方法是在php中的$ _SESSION中存储名称ID和所有内容。然后info.php将保存它并编辑php将读取它。