Javascript 单击Oracle APEX导航栏项时的条件操作
应用程序在导航栏中有一个主项(该项位于所有页面中)。我希望在单击主页项目时,根据页码向用户显示一个警告框,警告他们所有未保存的工作都将丢失。如果用户按yes,他或她将被带到应用程序主页,并且不会保存任何内容。如果他们按“否”,他或她将留在页面中 当前,此对话框显示在每个页面中。在Oracle Application Express中,Javascript 单击Oracle APEX导航栏项时的条件操作,javascript,oracle-apex,Javascript,Oracle Apex,应用程序在导航栏中有一个主项(该项位于所有页面中)。我希望在单击主页项目时,根据页码向用户显示一个警告框,警告他们所有未保存的工作都将丢失。如果用户按yes,他或她将被带到应用程序主页,并且不会保存任何内容。如果他们按“否”,他或她将留在页面中 当前,此对话框显示在每个页面中。在Oracle Application Express中,共享组件>导航栏>目标区域,以下是我的设置: 目标类型=url URL目标= javascript:if(confirm('All unsaved work wil
共享组件>导航栏>目标区域
,以下是我的设置:
目标类型=url
URL目标=
javascript:if(confirm('All unsaved work will be lost?'))
{window.location.href ='f?p=&APP_ID.:1:&SESSION.:&APP_PAGE_ID.';}
我希望这种行为只发生在一定数量的页面中。当用户单击此列表中未包含的页面时,不应显示警告框,并将用户带到应用程序主页 您需要的是一个以导航栏条目为目标的动态操作。但是,除了测试锚定标记的文本外,没有简单的方法可以选择性地在选择的项目上启用或禁用此操作。这意味着您将在动态操作中硬编码值以测试链接,我不推荐这样做。 没有可分配的类,也没有onclick事件。
您可以使用发布的代码,并使用javascript函数,该函数将页面id作为输入参数,然后根据允许操作的页面列表检查页面id,但同样复杂。使用一些ajax可以使它成为动态的,但由于您不熟悉javascript,最好先熟悉它,然后再处理它。
所以,与其发明这样的东西,不如看看这个。它将检查未保存的更改,您可以将其添加到您想要的页面中