我的主页中有不同的区域。我想要完成的是根据登录用户动态禁用一个或多个区域。
我已经设法以“静态方式”禁用一个区域。在页面属性中,在 JavaScript 菜单下,Execute when Page Loads
我放了以下代码:
$('#R4').addClass('apex_disabled').attr('tabindex', '-1');
哪里R4
是ID
该地区之一。
对于“动态方式”,我创建了一个Process
. 例如,如果用户是ADMIN
,我想禁用该区域R4
。这是代码(现在我不检查用户,我只是尝试使用禁用功能):
DECLARE
user VARCHAR2 (50);
BEGIN
select username into user
from USER
where username = V('APP_USER');
htp.p (' <script type = "text/javascript"> ');
htp.p (' function disableRegion()');
htp.p (' { ');
htp.p ('
$(''#R4'').addClass(''apex_disabled'').attr(''tabindex'',''-1''); ');
htp.p (' } ');
htp.p (' </script> ');
END;
这是行不通的。有什么建议么?谢谢!
服务器端条件是正常的,您可以在其中使用任何形式的声明式表达式,或者 PL/SQL 或 SQL 查询等。一旦页面呈现,这些可能无法切换回,因为它们首先不会被呈现。
客户端条件可能来自页面加载时触发的动态操作,这也可以受授权方案保护,因此只有某些动态操作存在才能触发。但正如有人建议的那样,这并不安全。
提供的代码永远不会存在于编写良好的 APEX 应用程序中,尽管我怀疑 OP 可能在 APEX 3.x 上,或者在那里学习。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句