2013-10-16 31 views
0

我有一個我的同事和我經常填寫的小表格,可以看到here,帶有源代碼(僅查看)here。此表單發佈到的電子表格可以看到(僅供查看)here刷新或清除圖形用戶界面(Google腳本中嵌入的應用程序腳本小工具)

基本上,應用程序腳本僅用於防止我的同事滾動瀏覽數千行電子表格(這也用於我們的電影收藏)來檢查庫存。它也將很快在審計電子表格中發佈結帳的詳細歷史記錄。

我試圖在之後清除數據發佈到電子表格後的文本字段的值,但沒有成功。我基本上想要做的是重新啓動的GUI,使字段再次空白。

我試圖通過ID但返回式訪問文本字段是通用部件,我當然不能做任何事情。而且由於控制權被傳遞給處理函數,所以文本字段無法被訪問,或者至少我無法弄清楚(我昨天晚上通過文檔和在線解決方案查看了幾個小時)。

所以問題:如何在將值發佈到電子表格後刪除/清除GUI中文本字段的值?(返回從處理函數再次訪問文本字段,或重啓的GUI?

我可以完成重啓腳本在電子表格中運行,但是當它被嵌入在我還沒有能夠做到這一點谷歌的網站。

回答

1

getElementById('xxxxx').setText('')方法是做正確的方式。但是你想測試它不工作...... 新值只會在未來的處理程序調用可用的方式。

/* 
    This function only has the desired effect if it is called within the handler 
    function (not within a nested function in the handler function). 
*/ 
function restartGUI() { 

    var gui = UiApp.getActiveApplication(); 

    gui.getElementById('equipmentIDField1').setText(''); 
    gui.getElementById('equipmentIDField2').setText(''); 
    gui.getElementById('equipmentIDField3').setText(''); 
    gui.getElementById('studentLastNameField').setText(''); 
    gui.getElementById('labasstLastNameField').setText(''); 
    return gui; 
} 
+0

我編輯了你的答案 - 基本上我遇到的問題是在錯誤的地方調用'restartGUI()'函數 - 它需要直接在處理函數中調用,而不是在被調用的函數中在處理函數*中。我希望這是有道理的,至少現在我明白了。 Google關於如何訪問GUI小部件的文檔並不是非常具體,這通常不是GUI組件的功能(至少在我的經驗中)。 –

相關問題