调用位于不同文件中的第二个javascript函数
我已经在GoogleApps脚本环境中创建了一个HTML表单。有两个文件,一个HTML文件包括HTML表单和相关CSS,另一个表单包括我的java脚本函数 当按下submit按钮时,它调用函数GetSelectedText(),该函数返回选择输入的选定文本值。此函数位于HTML页面中 然后,我希望调用GetSelectedText()函数调用另一个函数projectData(),传递从GetSelectedText()收集的输入值。 但是,它不会传递变量,并且在日志中只有“null” 在此方面的任何帮助都将不胜感激。谢谢调用位于不同文件中的第二个javascript函数,javascript,html,forms,google-apps-script,Javascript,Html,Forms,Google Apps Script,我已经在GoogleApps脚本环境中创建了一个HTML表单。有两个文件,一个HTML文件包括HTML表单和相关CSS,另一个表单包括我的java脚本函数 当按下submit按钮时,它调用函数GetSelectedText(),该函数返回选择输入的选定文本值。此函数位于HTML页面中 然后,我希望调用GetSelectedText()函数调用另一个函数projectData(),传递从GetSelectedText()收集的输入值。 但是,它不会传递变量,并且在日志中只有“null” 在此方面的
<script>
function GetSelectedText(){
var e = document.getElementById("projectNoView");
var result = e.options[e.selectedIndex].text;
projectData(result);
}
</script>
函数GetSelectedText(){
var e=document.getElementById(“projectNoView”);
var result=e.options[e.selectedIndex].text;
项目数据(结果);
}
功能项目数据(结果){
var ss=SpreadsheetApp.openById('10jSs0uoHOgO9VZusCa0ApyXmqISsHqsubIfRXiRPcQg');
var sheet=ss.getSheetByName(“项目进度”);
var data=sheet.getDataRange().getValues();
var搜索=结果;
var optionsHTML=“”;
var NICEIC=“0”;
Logger.log(搜索);
对于(var i=0;i服务器端函数,不能直接从客户端代码调用,您必须使用google.script.run
来执行此操作。来自google应用程序脚本指南的示例
服务器端代码(code.gs)
函数doGet(){
返回HtmlService.createhtmloutpfromfile('Index');
}
函数doSomething(){
Logger.log('我被叫了!');
}
客户端代码(Index.html)
google.script.run.doSomething();
参考文献
将所有函数以及css和html放在一个html文件中,或者使用服务器上预加载的get。您需要使用调用服务器端函数(例如,google.script.run.projectData(result)
)。它正在调用函数,但没有将变量“result”传递给它。你确定吗?客户端函数无法直接调用服务器端函数。是的,与上面的第二个函数一样,如果我将“search”变量替换为我知道在表中的字符串值,它就会工作
function projectData(result) {
var ss = SpreadsheetApp.openById('10jSs0uoHOgO9VZusCa0ApyXmqISsHqsubIfRXiRPcQg');
var sheet = ss.getSheetByName("Projects Progress");
var data = sheet.getDataRange().getValues();
var search = result;
var optionsHTML = "";
var NICEIC = "0";
Logger.log(search);
for(var i = 0; i<data.length;i++){
if(data[i][0] == search){
var NICEIC = sheet.getRange((i+1), 3).getDisplayValue();
optionsHTML += '<input id = "mytext" name = "NICEIC" type = "text" placeholder="NICEIC" value="' + NICEIC + '" tabindex="2">'
}
};
return optionsHTML;
}