Apex - 离开页面时清除表单(也在重定向时)

Pid*_*AWK 3 javascript plsql oracle-apex

目前,如果我填充表单并离开页面,当我返回表单时,表单条目仍然存在。是否可以防止保存这些条目?

项目的默认值使用 PS/SQL 填充,但内容可以调整。

我尝试创建一个动态操作来清除“页面卸载”上的项目,但这没有任何作用。这是正确的浏览器事件,还是我只是把实现弄错了?


更新:提供一些上下文...

页数:

  1. 形式
  2. DML 表单(插入)-我希望不存储任何修改

可以通过第 1 页或第 2 页访问第 3 页。

如果用户通过页面 2(一个不同的表单)访问表单,他们将选择一个特定的值,这将用于填充页面 3 上的默认值(通过项目和 PL/SQL 函数体)。

如果用户通过第 1 页访问表单,将运行相同的 PL/SQL - 这可能导致第 3 页表单项为空(NULL 默认值)。

但是,当用户编辑 Page 3 项目(从默认值更改)时,这些值将在用户下次访问表单时保持不变。如何防止这种状态被捕获?

Tom*_*Tom 5

您将需要清除页面的缓存。这将清除页面上项目的会话状态,从而导致项目再次为空。
您可能需要在多个位置添加此清除。如果您使用列链接访问页面、带有重定向的按钮、分支等。顶点 URL 有一部分说明必须清除哪些页面,您通常可以声明性地定义页面缓存的这种清除。 链接生成器顶点 5

您还可以创建流程,您可以在其中定义必须清除哪个(或多个)页面。例如,如果您总是希望在进入页面时清除缓存,无论您来自哪里,您都可以在页面上添加一个进程来执行此操作。
工艺类型顶点 5 会话状态最终是导致这种行为的原因:转到页面,更改某些内容,页面因任何原因被提交并导致会话状态被保存。
通常,在通过向导生成的 DML 表单上,只有在使用来自另一个位置(通常是上层报告)的“创建”按钮时才会清除缓存。

这是有关会话状态和管理它的(apex 5.0)文档。