【问题标题】:Apps script: Get html form values inputted into a web app应用程序脚本:获取输入到 Web 应用程序的 html 表单值
【发布时间】:2021-11-17 23:07:16
【问题描述】:

我正在编写一个脚本,该脚本需要将 html 表单数据输入到 Web 应用程序,然后我希望能够处理该表单数据并将其放在谷歌表格上。问题是我似乎无法做到这一点。这是我的代码:

索引.html

<form id="Form" onsubmit="event.preventDefault(); 
google.script.run.getData(this)">
  <input type="text" name="firstname">
  <input type="submit">
</form>

代码.gs

function getData(data) {
    var sheet= SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Logs');
    sheet.getCurrentCell().setValue(data.name);
}

我做错了什么?

【问题讨论】:

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


    【解决方案1】:

    您的代码中的问题是您的data 没有name 成员/密钥。因此,您在当前单元格中写入 null 值,这将导致单元格值为空。

    示例代码:

    function getData(data) {
      Logger.log(data)
      Logger.log(data.name)
      var sheet= SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Logs');
      sheet.getCurrentCell().setValue(data.firstname);
    }
    

    执行日志:

    输出:

    • 在这个例子中,我当前的活动单元格在A1

    【讨论】:

      【解决方案2】:

      查看documentation 以获取实际示例。 就您而言,您有一个提交的表格。在这种情况下,表单不知道哪个是活动单元格。因此你应该用getRange()appendRow()替换getCurrentCell()

      参考

      • appendRow - 你可以这样做appendRow([formObject.name])
      • getRange - 与getLastRow() 配对,然后您可以在其中设置值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-17
        • 1970-01-01
        • 1970-01-01
        • 2014-01-29
        • 1970-01-01
        • 2011-09-20
        相关资源
        最近更新 更多