ORACLE APEX - 设置一个按钮来填充文本字段

ORACLE APEX - Set up a Button to populate a textfield

我有一个按钮,我想使用名为 P7_INPUT 的输入文本字段并将其除以 (/) 2000 并将其弹出到 P7_OUTPUT

用户在 P7_INPUT 字段中输入 3000 并按下按钮,然后在 P7_OUTPUT 中将显示 1.5

的值

您甚至不需要按钮。

  • 创建 P7_INPUT 作为文本项;将其 "Submit when enter pressed" 属性 设置为 YES
  • 创建P7_OUTPUT
  • 创建一个 进程,其中将包含一个 PL/SQL 代码:

    :P7_OUTPUT := :P7_INPUT / 2000;
    

就这些;当你输入例如3000进入输入项并回车,程序会进行计算并将结果显示在输出项中。

如果一定要带按钮,就创建它,让它提交页面。流程看起来是一样的,您只需将 P7_BUTTON 放入流程' "Server side condition's" "When button pressed" 属性.

右键单击 :P7_INPUT 和 select 创建动态操作。设置以下属性:

Event: Key Release
Selection Type: Items(s)
Item: P7_INPUT

右键单击动态动作,然后 select 创建 TRUE 动作。设置以下属性:

Action: Set Value
Set Type: PL/SQL expression 
PL/SQL expression : NVL(:P7_INPUT,0) / 2000
Items to Submit: P7_INPUT
Affected Elements > Selection Type: Item(s)
Affected Elements > Item(s): P7_OUTPUT

由于您需要在用户单击按钮时动态发生动作,因此我会创建一个按钮单击动态动作,并为 P7_OUTPUT 设置值 动作设置为 JavaScript 表达式:

parseFloat($v("P7_INPUT)) / 2000

这避免了服务器往返。