弹出PHP表单

时间:2010-01-06 18:51:11

标签: php forms

我之前在网站上看到过这个,我想知道如何做到这一点。我正在尝试在数据库查询站点上弹出一个编辑表单,在点击按钮时,我会将一个var通过$ _POST传递给一个php页面,并让那个php页面成为弹出窗口,以便用户可以使用该php页面中包含的表单,用于编辑该数据库条目的详细信息。

任何帮助构建这一点将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:2)

工作流:

  1. 用户导航到浏览器中的查询列表
  2. 用户点击修改(启用了颜色框的链接)
  3. GET请求被发送到PHP脚本,该脚本返回基于$ _GET参数的查询编辑表单
  4. 用户编辑查询并按保存
  5. 表单提交(POST)到另一个验证并存储新查询的PHP
  6. PHP脚本重定向到查询列表(整页重新加载)
  7. 您需要什么:

    • JQuery + Colorbox(或类似的模态库)
    • 主页面(您点击编辑的地方)
    • 由php生成的html表单
    • php处理表单帖子提交

答案 1 :(得分:0)

您需要使用Javascript打开一个包含该表单的新窗口。一个简单的函数,如下面的函数将起作用:

function openWindow(theURL,winName,features) { window.open(theURL,winName,features); }

在前端要编辑的数据库行旁边,您可以添加一个调用此函数的编辑链接,并打开一个新脚本,该脚本将通过GET变量接受行ID,并使用它来显示一个表单进行编辑

<a href=\"javascript:openWindow('item_add.php?id=1','','width=500,height=300');\">

Item_add php应该接受来自GET数组的id变量。此脚本应包含一个HTML表单,在提交时,将在此ID变量上调用Update查询。完成后,您可以调用另一个javascript函数来关闭编辑窗口并刷新原始调用页面上的内容。在POST处理并且数据库更新后,通过脚本主体上的onLoad调用此函数。

                     function redirect_to(where, closewin)
                 {
                         opener.location= 'index.php?' + where;

                         if (closewin == 1)
                         {
                                 self.close();
                         }
                 }

<body onload="redirect_to('index.php','1')">

这只是我之前使用的技术,但根据您的上下文,您可能需要查看一些AJAX解决方案。

答案 2 :(得分:-1)

旧版本的HTML(如4.0)允许在表单标记上使用目标属性,因此您只需将表单通过post提交到操作URL,然后将target =“_ blank”或其他任何内容添加到表单标记中。如果要控制弹出窗口的大小,最好通过JavaScript进行提交。