如何从文本字段中获取用户输入并在Google脚本中创建变量?

时间:2015-10-07 19:13:10

标签: javascript html html5 google-apps-script scripting

这是PARTIAL Google Scripts文件。

Code.gs

CriteriaColumn,Choice1,Destination1,Choice2,Destination2应该是用户在HTML文本字段中输入的内容。

  if (colIndex == CriteriaColumn && rowIndex != 1) {

从活动行中的列CriteriaColumn获取值。

    if (status == Choice1) { 

目标表被命名为Destination1 is。

      var targetSheet = ss.getSheetByName(Destination1);
    }
    else if (status == Choice2) { 

目标表是Destination2的目标。

      var targetSheet = ss.getSheetByName(Destination2);
    }

这是HTML文件。无论在文本字段中输入什么,都应该成为Google Script中的变量。

的index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>

用户输入下面的文本字段。它们应该成为Google Script中的变量。

    <p>What is the criteria column? Use a number, not a letter. ie. A=1....Z=26<input type="text" name="CriteriaColumn"/></p>
    <p>Choice 1<input type="text" name="Choice1"/></p>
    <p>Choice 2<input type="text" name="Choice2"/></p>
    <p>Destination 1<input type="text" name="Destination1"/></p>
    <p>Destination 2<input type="text" name="Destination2"/></p>

点击保存将保存其设置并将其应用于Google脚本中的相应变量。

    <p><input type="button" value="Save" onclick="google.script.host.close()" /></p>

  </body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以在html中创建表单。然后,您必须将输入标记放在该表单中,并将表单发送到您的应用程序脚本函数。

Here您可以查看有关如何执行此操作的示例。在此示例中,使用了文件输入,但它与输入标记类似。

<body>
 <form>
   <p>What is the criteria column? Use a number, not a letter. ie. A=1....Z=26<input type="text" name="CriteriaColumn"/></p>
    <p>Choice 1<input type="text" name="Choice1"/></p>
    <p>Choice 2<input type="text" name="Choice2"/></p>
    <p>Destination 1<input type="text" name="Destination1"/></p>
    <p>Destination 2<input type="text" name="Destination2"/></p>

    <input type="button" value="Save" onclick="google.script.run.processForm(this.parentNode)" />
 </form>
</body>

&#34; processForm&#34;是gs文件中函数的名称,因此您必须将其更改为函数名称。

参数&#34; this.parentNode&#34;正在引用按钮的父级,在本例中是表单。

功能&#34; withSuccessHandler&#34;将执行您作为参数提供的javascript函数(html中的javascript代码)。在示例中,函数是&#34; updateUrl&#34;。