【问题标题】:How to close window in apex builder on clicking a button单击按钮时如何在 apex builder 中关闭窗口
【发布时间】:2018-07-24 09:29:52
【问题描述】:

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

我在“处理”点有一个 PLSQL 代码来保存数据。

然后,我在 Point = "After Processing" 并键入 =“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 "

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

谢谢,

阿卜哈

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    你可以只使用 APEX 组件,而不是写一行代码:)

    将按钮的操作设置为“提交页面” - 这样所有项目都将被提交以在处理过程中使用它们的值。下面的图片会对你有所帮助。

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

    在这里您可以创建一个新进程并将类型设置为“关闭对话框”此进程将自动关闭窗口。没有任何 javascript 等。Apex 是从上到下处理的,所以如果你把这个过程放在最后,它总是会在所有过程完成后关闭窗口。 你也可以设置进程服务器端条件,这样就不会每次都触发了。

    小心使用 javascript - 一些网络浏览器以不同的方式处理它们。

    希望它会有所帮助。祝你有美好的一天!

    【讨论】:

    • 非常感谢...这也有效:)。我同意如果可能的话最好避免使用 javascript。
    【解决方案2】:

    您好,我用其他方法解决了它:

    而不是 type : PLSQL Procedure" 选择 Type = "Page or URL Redirect" 并给 javascript:window.close() 在目标中。

    这行得通。

    【讨论】:

    • 对我来说 javascript:window.close() 的问题是它关闭了应用程序。
    【解决方案3】:

    我所做的是使页面模态。然后我添加了一个名为 btnClosePage 的按钮,其中包含一个名为“关闭对话框”的动态操作(真实事件)。我正在使用 Oracle Apex 20.2。

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      相关资源
      最近更新 更多