oracle - 顶点 : Call JavaScript function after validation but before processing

标签 oracle oracle10g oracle-apex

我的任务是在 Application Express (Apex) 中重新创建旧的 PL/SQL Web Toolkit 前端。

我想在提交页面后以及计算和验证后显示一个弹出窗口。

可以通过单击按钮或按 Enter 键来提交页面。

我已经用谷歌搜索并得到了一个模式弹出窗口(由javascript调用),但我似乎无法在正确的位置调用它。我可以在提交时调用它(在验证之前等),但不能在验证之后调用它。

我尝试在正确的处理点创建一个指向 URL 的分支,然后将 URL 设置为:

javascript:openForm();

但是后来我得到了一个页面不会显示的错误。

有人可以解释一下我该如何做到这一点吗?

顶点版本:4.0.2 甲骨文10g

最佳答案

我想您想要做的是执行验证,将值提交到 session 状态,但不执行进一步的进程。 但是,当您提交页面时,它会发送到服务器;您在页面处理区域中看到的所有内容都会按顺序触发。没有办法在进程中途调用 javascript 函数,因为基本上你不再在客户端了。

您可以做的是在验证同一页面后创建一个分支。重定向到它,但提供 REQUEST 值,例如 OPENFORM

创建一个动态操作,在页面加载时触发,并使用执行 javascript 并打开模态页面的真实操作。然后将动态操作的条件设置为 Request = Expression 1,向表达式 1 (OPENFORM) 提供请求值。 (请注意,这是条件区域,而不是“时间”区域的“条件”字段)

这应该会导致页面被提交、验证,然后重新加载,但带有请求值,并触发动态操作,打开模态页面。

只是一个兴趣点: 如果此页面上有实际进程,请小心按 Enter 键。默认情况下,按钮提交到 session ,并将请求值设置为其名称,从而可以有条件地执行流程或分支。我相信输入键不会提交请求值集。因此,如果您的分支是有条件的,则 Enter 键可能会跳过它。

关于oracle - 顶点 : Call JavaScript function after validation but before processing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342593/

相关文章:

c# - Oracle触发器——从子表到父表

sql - 没有秒的 oracle 时间戳

sql - 如何在 Oracle 中加速 row_number?

jquery - 使用 jQuery 改变没有 ID 的 HTML Span

oracle - 收集记录到 sys_refcursor

java - Websphere Application Server 中的 XAException

Java : Io exception: The Network Adapter could not establish the connection

oracle - PL/SQL 在 IN CLAUSE 中使用 VARRAY

oracle-apex - 同一用户帐户的多个 session 的 Oracle Apex 工作区设置

oracle - oracle apex 中的预渲染和后渲染