单击按钮如何在apex生成器中关闭窗口

时间:2018-07-24 09:29:53

标签: oracle-apex

我有一个顶点页面,其中有一个“保存并关闭”按钮。单击该按钮时,我首先要保存数据,然后关闭页面。

我在“处理”点有一个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 "

能帮我解决此错误,并告诉我如何在单击按钮时关闭窗口。

谢谢

阿卜哈

3 个答案:

答案 0 :(得分:1)

您只能使用APEX组件,而不能编写一行代码:)

将按钮的操作设置为“提交页面”-这样将提交所有项目以使用其值进行处理。下图将为您提供帮助。

现在,要处理您的pl / sql代码,请使用处理过程(图片左侧)。

您可以在此处创建一个新进程并将类型设置为“ 关闭对话框”,该进程将自动关闭窗口。没有任何JavaScript等。Apex从上到下进行处理,因此,如果使此过程持续进行,则在完成所有过程后它将始终关闭窗口。 您还可以设置进程服务器端条件,因此它不会每次都触发。

settings of button action

使用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 工作。