我有一个顶点页面,其中有一个“保存并关闭”按钮。单击该按钮时,我首先要保存数据,然后关闭页面。
我在“处理”点有一个PLSQL代码来保存数据。
然后我在Point =“ After Processing”处创建了一个Branch,并键入=“ PLSQL Procedure”,并在下面的代码中编写了关闭窗口的操作。
Begin
htp.p('<script type="text/javascript" >');
htp.p('window.close();');
htp.p('</script>');
end;
我已经在服务器端添加了按钮的名称:当按下按钮时。
但这不起作用。当我单击“应用”时,它不会关闭窗口。它给我一个错误:
"Error: SyntaxError: Unexpected token < in JSON at position 0 "
能帮我解决此错误,并告诉我如何在单击按钮时关闭窗口。
谢谢
阿卜哈
答案 0 :(得分:1)
您只能使用APEX组件,而不能编写一行代码:)
将按钮的操作设置为“提交页面”-这样将提交所有项目以使用其值进行处理。下图将为您提供帮助。
现在,要处理您的pl / sql代码,请使用处理过程(图片左侧)。
您可以在此处创建一个新进程并将类型设置为“ 关闭对话框”,该进程将自动关闭窗口。没有任何JavaScript等。Apex从上到下进行处理,因此,如果使此过程持续进行,则在完成所有过程后它将始终关闭窗口。 您还可以设置进程服务器端条件,因此它不会每次都触发。
使用javascript时要小心-一些Web浏览器正在以不同的方式处理它们。
希望它会有所帮助。祝你有美好的一天!
答案 1 :(得分:0)
Hi I got it working with other method :
Instead of type : PLSQL Procedure" select Type = "Page or URL Redirect" and give javascript:window.close() in the Target.
This works.
答案 2 :(得分:0)
我所做的是使页面模态化。然后我添加了一个名为 btnClosePage 的按钮,其中包含一个名为“关闭对话框”的动态操作(真实事件)。我在 Oracle Apex 20.2 工作。