【发布时间】:2020-05-20 07:58:17
【问题描述】:
我有一个 google 电子表格,其中包含用于在 html 中显示用户表单的菜单。用户表单是一种数据输入表单,可让您将输入数据添加到谷歌电子表格。我添加了一个按钮,该按钮应在 Google 电子表格中搜索 ID 号。这是我的按钮和 ID 号的 html 代码:
html:
<div class="form-row">
<div class="form-group col-md-2">
<label for="idNum">ID Number</label>
<input type="text" class="form-control" id="idNum">
</div>
<button type="button" class="btn btn-outline-info" id="searchbtn">Search Profile</button>
</div>
这是我的按钮搜索脚本:
<script>
//document.getElementById("addbtn").addEventListener("click", buttonAdd);
document.getElementById("searchbtn").addEventListener("click", searchProfile);
function searchProfile{
var appProfile = document.getElementById("idNum").value;
if(appProfile.length === 6){
google.script.run.withSuccessHandler(updateProfile).updateIdNum(appProfile);
}
//else{
//alert("invalid Profile Number");
}
}
function updateProfile(returnData){
document.getElementById("rnum").value = returnData[1];
console.log(retData);
}
</script>
我能够搜索 ID 号,但问题是我不知道如何使用电子表格行中的值反映或填充 html 中的字段。
这是我的 .gs 代码:
function updateProfNum(appProfile){
//var appProfile = "101018"
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ws = ss.getSheetByName("Results");
var data = ws.getRange(1, 1, ws.getLastRow(), 1).getValues();
var dJoin = data.join().split(",");
vare myPnum = dJoin.indexOf(appProfile);
var dataRow = ws.getRange(myPnum + 1, 1, 1, ws.getLastColumn()).getValues();
if (myPnum > -1){
return dataRow[0];
} else {
Logger.log("unknown")
//return "unavailable";
}
}
顺便说一下,这是我的电子表格数据示例:
ID Number | First Name | Last Name|
101018 | John | Doe |
101011 | Jane | Doe |
我试图通过使用按钮搜索 ID 号,然后在其行中获取值来在我的 html 用户表单中反映这些数据。 (例如我正在搜索101018,当我点击按钮搜索时,它会在用户表单中反映数据。希望任何人都可以提供帮助。非常感谢您提前。
【问题讨论】:
标签: javascript html google-apps-script google-sheets-api