2014-10-30 74 views
2

之前,我有以下代碼的應用程序註銷用戶,並「送」他回基於會話的認證頁面(Thanks Paul Withers):的XPages消息框註銷

clearing_function(sessionScope); 

var appUrl = facesContext.getExternalContext().getRequest().getContextPath(); 
var url = appUrl + "?logout&redirectto=" + appUrl; 
facesContext.getExternalContext().redirect(url); 

是否有機會能有像一個@prompt公式與是/否,以防萬一,如果用戶選擇是上述代碼(從ssjs)被執行?或者我必須在csjs中寫下確認信息。但是,那麼,我如何才能在csjs中轉換上面的代碼?

回答

2

您可以使用此對話框組件從擴展庫來構建包含兩個按鈕的確認框,其中正按鈕運行您註銷代碼

<xe:dialog id="dialog1"> 
      <xp:panel> 
       <xp:button value="OK" id="button1"> 
        <xp:eventHandler event="onclick" submit="true" 
         refreshMode="complete"> 
         <xp:this.action><![CDATA[#{javascript:clearing_function(sessionScope); 

      var appUrl = facesContext.getExternalContext().getRequest().getContextPath(); 
      var url = appUrl + "?logout&redirectto=" + appUrl; 
      facesContext.getExternalContext().redirect(url);}]]></xp:this.action> 
        </xp:eventHandler></xp:button> 
       <xp:button value="Cancel" id="button2"> 
        <xp:eventHandler event="onclick" submit="true" 
         refreshMode="partial" refreshId="dialog1"> 
         <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").hide();}]]> </xp:this.action> 
        </xp:eventHandler></xp:button></xp:panel> 
    </xe:dialog> 

要隱藏默認的X按鈕即可覆蓋相關的CSS類:

爲oneui主題是 的「lotusBtnImg」類webstandard它的「.dijitDialogCloseIcon」類

+0

哇,我真不敢相信我沒想到在。我會試一試,讓你知道 – 2014-10-30 06:23:01

+0

是否有機會隱藏X對話框按鈕? – 2014-10-30 06:45:02

+0

使用CSS .lotusBtnImg {visibility:hidden;} – poisonedYouth 2014-10-30 06:52:39