2013-04-22 44 views
1

我目前正在從JavaScript中的LotusScript腳本庫重寫函數。 LotusScript函數包含前端和後端元素 - 輸入框用於從用戶收集信息 - 所以我想知道如何做到這一點。是否可以使用ssjs中的csjs調用模態對話窗口?從XPages中的SSJS中調用CSJS

+0

託尼要小心你所希望的。對話框是客戶端應用程序的一個獨特功能,在Web應用程序中相當令人惱火,所以請考慮是否有更好的方法來處理UI流。 OneUI文檔(3.x截至目前)有一些靈感 – stwissel 2013-04-22 23:09:14

+0

謝謝,這不幸是一個傳統的應用程序,目前至少需要對話框。 – 2013-04-23 06:09:40

回答

1

是的,看看xe:對話框控件。您可以使用SSJS顯示和隱藏該對話框。

+0

非常感謝,我現在正在嘗試。 – 2013-04-23 06:09:02

9

這裏是SSJS和CSJS命令來顯示/隱藏對話框:

SSJS:

var comp = getComponent("serverSideId"); 
//To Open the dialog 
comp.show(); 
//To close the dialog 
comp.hide(); 

CSJS

//To Open the dialog 
XSP.openDialog("#{id:serverSideId}"); 
//To close the dialog 
XSP.closeDialog("#{id:serverSideId}"); 

而只是爲了好玩,SSJS執行CSJS:

//To Open the dialog 
facesContext.getViewRoot().postScript("XSP.openDialog('#{id:serverSideId}')"); 
//To Close the dialog 
facesContext.getViewRoot().postScript("XSP.closeDialog('#{id:serverSideId}')"); 
+0

非常感謝這個建議 – 2013-04-23 06:08:44

+0

@TonyGuiheen:如果這個答案適合你,那麼請確保選擇這個答案來幫助社區。 – Naveen 2013-04-23 09:12:45

+0

是的,這個答案是一個很大的幫助。我想知道在使用CSJS或SSJS打開它時是否有任何方法將參數傳遞給對話框。 – 2013-04-23 12:06:55

1

你試過這個嗎?

view.postScript("XSP.openDialog('#{id:dialog1}');"); 
+0

謝謝,我將來可能會用到它。 – 2013-11-22 06:59:20