2016-04-14 57 views
0

我在SSJS庫中有一個函數。我想在庫中獲取客戶端警報。我試過的沒有奏效。我想我錯過了什麼。 :(SSJS庫中的警報

function docAlive() 
{ 
    try 
    { 
     var otherDoc:NotesDocument= null; 
     if (funcDoc.getItemValueString("DocUNID")!="") 
     { 
      var otherDoc:NotesDocument = dbKontak.getDocumentByUNID(funcDoc.getItemValueString("DocUNID")) 
      if (otherDoc==null) 
      { 
       hataKod = "10001"; 
       hataMsg = "There is no document :(Created One"; 
       print (hataKod +": "+hataMsg); 
       view.postScript("alert('"+hataKod + " - " +hataMsg+"');"); 
      } 
     } 
     return otherDoc; 
    } 
    catch (e) 
    { 
     e.toString(); 
    }  
} 
+0

你的代碼駐留在哪裏(event,value,...)? –

+0

看看這裏http://notesspeak.blogspot.de/2013/08/viewpostscript-only-works-for-certain.html和這裏http://www.intec.co.uk/xpages-calling-client- side-javascript-from-server-side-javascript/ –

+0

提交時按鈕後面.. –

回答

1

view.postScript()將觸發客戶端的警報,但作爲添Tripcony提到,並非所有的事件。而且,警報將只的功能和局部刷新任何其他代碼後觸發有在這一點上,觸發(客戶端)JavaScript警報的HTML將被髮回給瀏覽器,瀏覽器將採取行動

如果你想拋出一個錯誤回瀏覽器,我會強烈推薦XPages OpenLog Logger(不僅僅是因爲我在OpenNTF上貢獻並支持它)。openLogBean.addError(e)會將錯誤記錄到OpenLog併發布一條錯誤消息返回給瀏覽器。

該消息傳遞到服務器使用facesMessage.addMessage(),這裏記錄http://www.intec.co.uk/returning-error-messages-from-ssjs-through-the-facescontext/。我相信還有其他選項可用於管理不同的消息級別(例如警告,確認)。 FacesMessage是一個標準的Java(在這種情況下,JSF)結構,因此它在Web上的文檔對XPage也是有效的。