【问题标题】:Button Click events with Dynamic actions in Oracle ApexOracle Apex 中具有动态操作的按钮单击事件
【发布时间】:2019-06-27 10:54:53
【问题描述】:

我创建了一个带有相关动态操作的编辑按钮。在动态动作中,将其设置为 Edit 按钮的 Click 事件。我通过引用 JavaScript 执行代码创建了实际操作。然后是该区域的更新。

在 JavaScript 代码中,我想通过按下编辑按钮启用只读项目。

APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION('ADMIN')

这是我在 JavaScript 代码中所做的检查。 通过这种方式,我为我申请的区域启用了编辑模式。 ADMIN 是一个角色。

如何使按钮单击,以便在单击时以可编辑方式显示与该区域关联的项目?

【问题讨论】:

    标签: oracle oracle-apex


    【解决方案1】:

    在我看来,你是在重新发明轮子。

    好的,有ADMIN 角色(也许还有一些其他角色)。如果您知道哪个用户(由:APP_USER 标识)具有哪个角色,则使用

    • 服务器端条件(决定是否渲染(或处理)某些页面组件(项目、按钮...)
    • 只读属性(决定用户是否可以修改值)
    • 授权方案(在“安全”下)

    因此,您目前拥有的 EDIT 按钮已不再需要。一切都可以通过在 Apex 中设置某些属性以声明方式完成。

    【讨论】:

    • 我想按角色而不是按用户进行验证。
    • 每个用户都应该有一个或多个角色,这意味着这两个术语密切相关。如果您了解用户,您就知道其角色。我认为这没有任何问题。
    【解决方案2】:

    这个函数

    APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION('ADMIN')
    

    是一个 plsql 函数,你是在 javascript 代码中使用它还是作为服务器端条件使用它?

    您可以使用该函数发出 ajax 请求以获取用户角色,在您的 javascript 代码中获取角色后,您可以使用 javascript api 禁用/启用项目。

    apex.item( "P1_ITEM" ).enable() ;
    

    【讨论】:

    • 我在哪里使用这个 javascript API?
    • 不起作用。我点击按钮,没有任何反应:(
    • 尝试创建一个没有条件的点击动态操作并将该操作设置为javascript代码以执行此操作以启用项目apex.item( "YOUR_ITEM" ).enable();和禁用apex.item( "YOUR_ITEM" ).disable();
    • 我就是这么做的。我创建了一个具有动态操作的编辑按钮。带有按钮单击事件的动态操作。我的项目的 javascript API 的实际操作。单击按钮没有任何反应。我没有额外的验证。
    • 您能否提供屏幕截图或在 apex.oracle.com 上演示您的问题
    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多