【发布时间】:2011-06-01 16:32:08
【问题描述】:
在这里完成PHP新手,我以前的工作几乎都是在ASP.NET中。我现在正在做一个 PHP 项目,我偶然发现的第一块石头是在回发中保留值。
对于最简单但仍然现实的示例,我有 10 个下拉菜单。它们甚至还没有数据绑定,因为这是我的下一步。它们是简单的下拉菜单。
我将整个页面包含在一个标签中。每个下拉列表的 onclick() 事件调用一个 javascript 函数,该函数将使用下拉列表的选定值填充相应的下拉列表隐藏元素。然后,在页面重新加载时,如果该隐藏值不为空,我将所选选项设置为我隐藏的选项。
这非常适合单次回发。但是,当另一个下拉列表被更改时,原来的第一个下拉列表失去了它的价值,因为它对应的隐藏值也失去了它的价值!
这让我开始研究使用查询字符串、会话或……其他一些想法。
有人能指出我正确的方向吗,哪个选项最适合我的情况?我是 PHP 新手,但是我需要为我的技能水平做一些非常激烈的事情,所以我需要一些灵活且易于使用的东西。
谢谢!
-----编辑-----
对我的问题再澄清一点:)
当我说“PostBack”时,我指的是正在提交的页面/表单。控制权传回服务器,再次执行 HTML/PHP 代码。
至于下拉列表和隐藏,我使用隐藏变量来保留“选定值”或“选定索引”的原因是,当页面提交时,我可以用之前的选择重新绘制下拉列表,而不是默认回到第一个索引。当我使用 $_POST[] 命令时,我无法按名称检索下拉列表,但我能够按名称检索隐藏的值。这就是为什么在下拉更改事件时,我调用 javascript 将下拉列表中的选定值设置为其对应的隐藏值。
-------- 再次编辑 -------- 好吧好吧,我知道我需要退后一步并解释总体目标:)我很抱歉一开始就不太清楚。
我的最终设计将是一个页面,用户可以在该页面中选择我们公司内的一个部门,以查看其数据。一旦选择了该部门(从下拉列表中),我将显示更具体的数据选择下拉列表:颜色、尺寸、供应商、样式、日期、商店#等...此时我还将显示销售数据选定的部门。选择任何颜色、尺寸等后,我将更新销售数据结果以满足新标准
------ 编辑 ---------- 我无法提供对我的示例的外部访问,但是这里有一个带有解释的截图。在下图中,用户将展开部门下拉菜单以选择一个部门。此时,下面的销售数据将根据该部门刷新。然后,用户将选择“分组依据”选项,例如商店,页面/数据将刷新以显示按商店分组的数据。然后他们可以选择一种颜色,例如我的示例中的黑色,数据将显示所选部门和颜色的销售额,按商店分组。
然而,为了做到这一切,页面需要在每次刷新/发布时保留部门、颜色和分组下拉选择...
【问题讨论】:
-
有趣的话题。但是您应该解释postback 的含义;这是一个 ASP 术语,在 PHP 领域是未知的。如果您需要重新显示下拉菜单,或者通过隐藏的表单字段传递值是否足够,还可以添加更多信息。
-
为什么会有一个单独的隐藏字段来存储选择的值?选择存储自身的值。我很困惑。我们可以查看一些代码并解释您要完成的工作吗?
-
你能提供一个现场例子的链接吗?我可以理解确切的过程
-
这与您的尝试相似吗? jankoatwarpspeed.com/examples/webform_to_wizard |点击页面顶部的红色块。