从html表单在Google电子表格中创建一个新行

时间:2015-12-25 22:57:10

标签: html forms google-apps-script

我是医学研究员,我正在创建一个我的患者数据库,我有一个html表格,并希望获得的变量存储在谷歌的电子表格中,到目前为止我只有这个: 电子表格: my spreadsheet in google

code.gs:

function addProduct() {
var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['name', 'age']);
}

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index.html')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

的index.html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Name and age!
    <input type=text name=name id=name>
    <input type=number name=age id=age>
    <input type=submit onclick=google.script.run.addProduct()>
</body>
</html>

我不知道如何将html表单中的变量链接到code.gs,以便在sheet.appendRow的新行中输入答案 我将感谢你的帮助, 感谢

1 个答案:

答案 0 :(得分:1)

您的输入标记不在表单中,因此您无法获得整个表单元素。您不需要这样做,但值得一提,因为有多种方法可以构建。

您可以使用名为DOM的内容从输入标记中获取值。

<body>
  Name and age!
  <input type=text name=name id=name>
  <input type=number name=age id=age>
  <input type=submit onclick="myClientSideJavaScriptFunction()">
</body>

<script>
  function myClientSideJavaScriptFunction() {
    var inputOneValue = document.getElementById('name').value;
    var inputTwoValue = document.getElementById('age').value;

    google.script.run
     .addProduct(inputOneValue, inputTwoValue);
  };
</script>

Code.gs

function addProduct(x1, anythingYouWantToNameIt) {
  var myArray = [];
  myArray.push(x1);
  myArray.push(anythingYouWantToNameIt);

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(myArray);
};