【问题标题】:Oracle Apex 5 Opening page in new windowOracle Apex 5 在新窗口中打开页面
【发布时间】:2016-09-09 12:24:40
【问题描述】:

我正在使用 Oracle Apex 5。在页面上,我填写了两个项目(动态操作会根据这两个项目的值自动刷新交互式报告)。

我还有一个 PRINT 按钮,它应该打开一个新页面并发送这两个项目的值。因为我希望这个新页面在新窗口(标签)中打开,所以我通过将按钮的操作重定向到 url 并在 url 中输入这个 Javascript 来做到这一点:

javascript:var myWindow = window.open('f p=800:105:&APP_SESSION.::NO::REP_NAME,PAR1_NAME,PAR1_VAL,PAR2_NAME,PAR2_VAL:NarudzbenicaDobavljacV2,P_ACCOUNT_ID,&P15_SUPLIER_ID.,P_DATE,&P15_DATE.');

这是关键!该函数不获取值。只有在页面提交或刷新 (F5) 后它才会起作用。如何让它工作而不必这样做?

我还尝试将按钮设置为提交页面操作,并使用相同的 javascript 添加提交后分支,但这只会引发 500 错误。

【问题讨论】:

    标签: javascript oracle-apex oracle-apex-5


    【解决方案1】:

    在 javascript 中,您需要使用函数 $v() 来获取项目值。 &PX_ITEM。符号不是这样工作的,它使用存储在数据库中的会话值(在页面提交时设置或通过设置session state 的 pl/sql 块设置)。您需要像这样设置网址:

    javascript:var myWindow = window.open('f?p=800:105:&SESSION.::NO::REP_NAME,PAR1_NAME,PAR1_VAL,PAR2_NAME,PAR2_VAL:NarudzbenicaDobavljacV2,' + $v('P_ACCOUNT_ID') + ',' + $v('P15_SUPLIER_ID') +',' +$v('P_DATE') + ',' + $v('P15_DATE')');
    

    【讨论】:

    • 您好,我尝试了这种构建链接的方式,但它不起作用。当我按下按钮时没有任何反应。
    • 我必须注意项目 P15_SUPLIER_ID 是一个弹出 LOV,而 P15_DATE 是一个日期选择器。我不知道这是否会对符号产生影响。
    • 我注意到您在网址“f?p”中缺少问号,您应该尝试 &SESSION。而不是 &APP_SESSION。
    • 别担心...我也注意到并修复了它..仍然不起作用
    • 更改为 &SESSION 也无济于事。我已经同意在日期选择器的更改事件上放置一个提交页面操作(因为用户无论如何都必须选择一个日期),所以原始的 javascript 工作。感谢您的帮助。
    【解决方案2】:

    如果这个问题仍然存在,试试这个:

    javascript:var myWindow = window.open('f?p=800:105:&SESSION.::NO::REP_NAME,PAR1_NAME,PAR1_VAL,PAR2_NAME,PAR2_VAL:NarudzbenicaDobavljacV2,P_ACCOUNT_ID,' + $v("P15_SUPLIER_ID") +',P_DATE,' + $v("P15_DATE"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-03
      • 2014-09-01
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多