应用程序在导航栏中有一个Home项目(该项目位于所有页面中)。我希望,当主页项目被点击,根据页码,一个警告框显示给用户,警告他们,所有未保存的工作将丢失。如果用户按下yes,他或她将被带到应用程序主页,并且不会保存任何内容。如果他们按否,他或她将留在页面中。
目前,此对话框出现在每个页面中。在Oracle Application Express,shared components > navigation bar > target area中,以下是我的设置:
目标类型= url
URL目标=
javascript:if(confirm('All unsaved work will be lost?'))
{window.location.href ='f?p=&APP_ID.:1:&SESSION.:&APP_PAGE_ID.';}我希望此行为仅在选定的页数中发生。当用户单击未包括在此列表中的页面时,不应显示警告框,并将用户带到应用程序主页。
发布于 2012-09-03 15:50:38
您需要的是一个以导航栏条目为目标的动态操作。然而,除了测试锚标签的文本之外,没有简单的方法来选择性地启用或禁用选择项上的此操作。这意味着您将在动态操作中硬编码值来测试链接,这是我不推荐的。没有可以分配的类,也没有onclick事件。
您可以使用您发布的代码,并有一个javascript函数,该函数接受页面id作为输入参数,然后根据允许该操作的页面列表检查页面id,但仍然很复杂。可以使用一些ajax使其成为动态的,但由于您不熟悉javascript,因此在处理它之前最好先熟悉它。
因此,与其发明这样的东西,不如看看这个save before exit plugin。它将检查未保存的更改,您可以只将其添加到您想要的页面。
https://stackoverflow.com/questions/12220058
复制相似问题