【问题标题】:How can I call a function from another function and how?如何从另一个函数调用一个函数以及如何调用?
【发布时间】:2021-07-03 21:29:11
【问题描述】:

这是我用 HTML 文件本身编写的 JavaScript,我想从 code.gs 文件中编写的函数调用 value(Time) 以从电子表格中获取时间。此外,下面用 JavaScript 编写的函数将运行按钮的onclick,新 URL 的参数为 time ,从电子表格 code.gs 调用的值

<script >
    const getTimefromSheet = () => new Promise((resolve, reject) => google.script.run.withSuccessHandler(resolve).withFailureHandler(reject).getTimefromSheet());
    async function gettime(){
      const getTimefromSheett = await getTimefromSheet().catch(err => console.log(err));
      //  getTimefromSheett = google.script.run.getTimefromSheet();
     console(getTimefromSheett);
     return getTimefromSheett;
    }
     document.getElementById('submit').addEventListener('click', _ => {
      var getT = gettime();
      addRow();
      console.log(getT);
      const css = document.getElementById("txt").value;
      document.getElementById('submit').href = <?= ScriptApp.getService().getUrl() ?> + `?v=form&input=${getT}`;

    }); 
  // google.script.url.getLocation(location);

返回时间的函数如下: 代码.gs

function getTimefromSheet(){
  var sheetname = "Input";
  var rang = "C2";
  var tr = getDataFromSheet(sheetname,rang);
  
  var timestamp = tr.toString().replace(/\s/g, "");
  Logger.log(timestamp);
  return timestamp;
}

请告诉我如何将电子表格中的值传递给参数中的 URL。我需要每个用户的唯一 URL 因此这是相同的要求。我是新手,我该如何实现?

【问题讨论】:

    标签: javascript html google-apps-script google-sheets web-applications


    【解决方案1】:

    作为一个简单的修改,下面的修改如何?

    修改脚本:

    在这次修改中,Javascript被修改了。

    const getTimefromSheet = () => new Promise((resolve, reject) => google.script.run.withSuccessHandler(resolve).withFailureHandler(reject).getTimefromSheet());
    
    document.getElementById('submit').addEventListener('click', async _ => {
      var getT = await getTimefromSheet().catch(err => console.log(err));
      addRow();
      console.log(getT);
      const css = document.getElementById("txt").value;
      document.getElementById('submit').href = <?= ScriptApp.getService().getUrl() ?> + `?v=form&input=${getT}`;
    });
    
    • 运行上述脚本时,getT 是来自getTimefromSheet() 的值。
    • 在此修改中,假设getTimefromSheet() 和addRow() 工作正常,并且&lt;?= ScriptApp.getService().getUrl() ?&gt; 工作正常。请注意这一点。

    【讨论】:

    • @kanu priya 感谢您的回复和测试。我很高兴你的问题得到了解决。也谢谢你。
    猜你喜欢
    • 2020-11-17
    • 2015-07-03
    • 2014-11-13
    • 2019-02-17
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    相关资源
    最近更新 更多