簡體   English   中英

使用google.script.run重置html表單輸入

[英]reset html form input using google.script.run

我需要幫助找出在更新用於填充Google電子表格的html表單中的選擇后如何刷新輸入值。

碼:

function description(item){

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('DATA');
    var cell = sheet.getRange('ITEM');

    cell.setFormula('=VLOOKUP(' + item + ';ITEMS!$C$2:$AE;29;FALSE)');

    return cell.getValue();

}

HTML:

...

<select id="SKU" onchange="update();"><?!= Drop_SKU();?></select>

<input id="description" value="<?!= ss.getRange('ITEM').getDisplayValue();?>"> 

...

<script>

  window.update=function(){

      var ss = SpreadsheetApp.getActive();
      var parameter = document.getElementById('SKU').value
      var newValue = google.script.run.description(parameter);

      document.getElementById('description').value = newValue;

  }

結果,描述功能運行完美,但是導致為輸入“描述”設置了未定義的值。

我想念什么?

我會感謝您的幫助。 先感謝您。

google.script.run由兩部分確定運行服務器端代碼后的操作:.withSuccessHandler(successFunction).withFailureHandler(failedFunction)

如果服務器端函數運行沒有錯誤,則withSuccessHandler定義的函數將運行,並將所有返回值傳遞給該函數。 如果發生錯誤,將執行withFailureHandler定義的函數。 因此,HTML的腳本部分將如下所示:

    <script>

      window.update=function(){
      var ss = SpreadsheetApp.getActive();
      var parameter = document.getElementById('SKU').value
      google.script.run.withSuccessHandler(showNewValue).withFailureHandler(functionFailed).description(parameter);
  }

  function showNewValue(newValue){
      document.getElementById('description').value = newValue;
  }

  function functionFailed(error){
      document.getElementById('description').value = 'Error returned: ' + error;
  }
</script>

請注意,我沒有查看其余的代碼以查看是否還有其他問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM