Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用位于不同文件中的第二个javascript函数_Javascript_Html_Forms_Google Apps Script - Fatal编程技术网

调用位于不同文件中的第二个javascript函数

调用位于不同文件中的第二个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” 在此方面的

我已经在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;
}