2

私は Oracle Apex 5 を使用しています。ページには 2 つの項目が入力されています (動的アクションは、これら 2 つの項目の値に基づいて対話型レポートを自動的に更新します)。

また、新しいページを開いて2つのアイテムの値を送信することになっているPRINTボタンがあります。この新しいページを新しいウィンドウ(タブ)で開きたいので、ボタンのアクションをURLにリダイレクトし、このJavascriptをURLに入力することでそれを行っています:

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 エラーをスローします。

4

2 に答える 2

0

この質問がまだ開いている場合は、これを試してください:

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"));
于 2016-09-21T19:48:27.817 に答える
0

JavaScript では、関数$v()を使用してアイテムの値を取得する必要があります。&PX_ITEM. 表記はそのようには機能しません。これは、データベースに保存されているセッション値を使用します (ページの送信時に設定されるか、セッション状態を設定する pl/sql ブロッ​​クによって設定されます)。次のように URL を設定する必要があります。

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')');
于 2016-09-09T16:13:30.587 に答える