我正在尝试创建一个网络应用程序脚本,其中包含一个接受用户输入并返回结果的字段。我需要它来列出与输入查询关联的所有结果。
我尝试过的事情:
- 我已经为 orderInput 分配了一个实际的订单号,并且我能够使用 Logger.log(orderMatch) 获得我希望它返回的结果,所以我知道它有效。
- 我不确定我是否遇到了格式问题,所以我尝试使用 orderInput.toString() 将 orderInput 转换为字符串,但没有成功。
- 起初我试图在禁用的输入字段中显示它,但没有用,所以我尝试使用文本区域,但也没有用。
- 我还尝试移动
document.getElementById("orderResults").value = (orderMatch); M.updateTextFields();
在return item[0] === orderInput 之间的各个地方 });
- 我正在使用
document.getElementById("orderNumber").addEventListener("change",orderLookup);
来触发脚本运行,但我也尝试使用onclick= 创建一个按钮“orderLookup()”
但这没有用。
这是我的脚本:
function orderLookup() {
var orderSheet = "Google Spreadsheet URL"
var ss = SpreadsheetApp.openByUrl(orderSheet);
var ws = ss.getSheetByName("Orders");
var originalSheet = ws.getRange(2, 1, ws.getLastRow() - 1, 3).getValues();
var orderInput = document.getElementById("orderNumber").value;
var orderMatch = originalSheet.filter(function(item) {
return item[0] === orderInput
});
document.getElementById("orderResults").value = (orderMatch);
M.updateTextFields();
}
至于我的 HTML:
<div class="input-field col s2">
<input value="" id="orderNumber" type="text" class="validate">
<label class="active" for="orderNumber">Enter Order Number</label>
</div>
<center style="float:left;margin-left:0px;margin-top:0px;">
<h6><b>Results</b></h6>
<textarea id="orderResults" rows="10" cols="45" disabled="disabled" style="width:100%; height:auto"></textarea>
</center>
最佳答案
在我看来,您将服务器端功能与客户端功能混合在一起,我猜是因为您提供了 html 代码和您尝试运行的脚本是客户端。
function orderLookup() {
var orderSheet = "Google Spreadsheet URL"
var ss = SpreadsheetApp.openByUrl(orderSheet);//Server side function
var ws = ss.getSheetByName("Orders");//Server side function
var originalSheet = ws.getRange(2, 1, ws.getLastRow() - 1, 3).getValues();//Server Side function
var orderInput = document.getElementById("orderNumber").value;//Client Side Function
var orderMatch = originalSheet.filter(function(item) {return item[0]===orderInput});//could be either
document.getElementById("orderResults").value = (orderMatch);
M.updateTextFields();//dont know
}
关于javascript - 将过滤结果输出到文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58635518/