[英]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.