2012-06-14 40 views
1

我在腳本中發佈了一項服務,該腳本是傳遞給電子郵件的鏈接。活動帳戶調用服務後,UiApp將打開進一步處理。我使用doGet()來做到這一點。一旦UiApp處理完成,我有一個Submit按鈕,鏈接到一個服務器點擊處理程序,它應該處理通過UiApp表單所做的更改。雖然我能夠改變,我想用這個了UiApp改變電子表格上的數值,我還是有我在點擊提交按鈕會遇到兩個問題:將UiApp作爲已發佈服務調用後無法關閉它

  1. 用戶界面應用程序沒有關閉上按提交按鈕
  2. 我無法調用瀏覽器msgBox來提供進程完整的驗證消息。

我已經讀了很多,關於關閉和恢復應用程序的了UiApp應該接受封閉的,但它不發生,我假定這是因爲只發生,如果沒有涉及serverClickHandler。我可能是錯的。

有人可以幫我解決問題1並解決問題2嗎?下面附加了我的doGet和clickHandler函數的相關版本。

function doGet(e) //On invoking service in the mail. 
{ 
    //Adding all other elements of the UiApp here 
    /* … 
    … All other elements of the UiApp 
    … 
*/ 
    //Adding Submit button to the UiApp 
    var button = app.createButton('Submit'); 
    var handler = app.createServerClickHandler('click').addCallbackElement(panel); 
    button.addClickHandler(handler); 
    panel.add(button); 
    app.add(panel); 
    return app; 
} 

function click(eventInfo) { 
    var app = UiApp.getActiveApplication(); 
//Processing the actions that have to be performed on hitting the submit button 
/* … 
    … Processing the actions that have to be performed on hitting the submit button 
    … 
*/ 
    app.close(); 
    return app; 
} 

回答

2

Browser.messageBox不在公佈UiApps可用,您應該使用標籤,直到你把它在過程結束時可見不可見。 另一個問題也不是問題:UiApp無法關閉瀏覽器窗口,您可以簡單地將UI的主面板隱藏。

結合這兩個修改將允許你隱藏你的表單並用'已完成,感謝提交'信息來替換它。

+0

謝謝!這是有道理的。 –

相關問題