いいね!数

0

閲覧数
86

表題のとおりですが、XPagesでボタンを押したときにビューの選択文書の情報をスコープ変数に格納する処理(SSJS)の後、新規タブで特定のページ(XSP)を開くシンプルな方法について教えてください。

 

onmousedown()でSSJS(getSelectedIds処理)、onmouseup()でCSJS(window.open)を記述してそれなりに動いていますが、さすがに邪道ではないかと思った次第です。そのせいかタイミングが合わずSSJSの結果が起動したページで取得できないことがあります。

 

なお、iOS(iPad)のサファリ、IE11の両方で動作する必要があります。

よろしくお願いします。

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:Jul 11, 2018, 2:50:33 PM

回答・コメント

いいね!数

0

こんにちわ。

ブラウザにタブを開かせるには、CSJSでタブを開くスクリプトを実行させればいいわけです。

ボタンクリック時に実行されるSSJSでview.postScript()を実行すれば、ブラウザで実行させたいjavascriptを返すことができます。

ここにタブを開くスクリプトを書いておけばうまくいくかと。

タブを開くスクリプトの書き方はググればいくらでもでてきます。

/Yac

回答日時:Jul 11, 2018, 3:50:54 PM

いいね!数

0

yacさんありがとうございます。

すっきりと onclic 1つで記述できました。

var ids = getComponent("viewPanel1").getSelectedIds();
if (ids.length == 0) {
    return false;
}
var rowData = ""
for(var i=0; i<ids.length; i++){
	処理
}

view.postScript("window.open('xxxx.xsp','_blank')");
回答日時:Jul 12, 2018, 11:15:39 AM