将数组输入值传递给google app脚本中的code.gs.

时间:2017-06-29 05:51:14

标签: javascript jquery google-apps-script google-sheets

我有一个带有输入数组的表单,我想用另一个全局数组值初始化输入值,并将值传递给code.gs。 但我无法获得我在code.gs中传递的值。 你能帮帮我吗? 谢谢!

Html部分

 <form id="downloadpdf">
      <input id="urlclass" type="text" name="urlname[]"  />
      <input type="submit" value="Download" />
    </form>

的Javascript

<script>   
      var urllink=[];                                      // Global variable a return from another function 

       $(document).ready(function() {

            function another(){
                var url=[];      // it is a dynamic value I get it from another function  eg. url[0]=”www.abc.com” ,url[1]=”www.abcd.com”, url[2]=”www.abcde.com”....
                  urllink.push(url);                                    // Assigning the global array value by the urls 
                }

           $("#downloadpdf").submit(function() { 
                $("#urlclass").val(urllink);                     // assigning the input value by the Global array value.                       
                google.script.run.withSuccessHandler(function(retsearch){ 

                }).downloadthefile(this);

                });

                });

 </script>

Code.gs

function downloadthefile(urlpass){
Logger.log(urlpass.urlname);                                  // I couldn’t get the urls here  

}

1 个答案:

答案 0 :(得分:0)

这是一个简单的html文件,与电子表格中包含的Google Apps脚本进行通信。我作为一个对话框测试了很多,我也将它作为一个Web应用程序运行。 html文件和Google Apps脚本相互通信,我将4个文本框的内容作为数组传递回Google脚本。希望这会有所帮助。

Code.gs文件:

Timezone

index.html文件:

function doGet()
{
  var html = HtmlService.createHtmlOutputFromFile('index');
  return html.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)

}

function getData(a)
{
  var ts = Utilities.formatDate(new Date(), "GMT-6", "M/d/yyyy' 'HH:mm:ss");
  a.splice(0,0,ts);
  var ss=SpreadsheetApp.openById('SPREADSHEETID')
  ss.getSheetByName('Form Responses 1').appendRow(a);
  return true;
}

function getURL()
{
  var ss=SpreadsheetApp.openById('SPREADSHEETID');
  var sht=ss.getSheetByName('imgURLs');
  var rng=sht.getDataRange();
  var rngA=rng.getValues();
  var urlA=[];
  for(var i=1;i<rngA.length;i++)
  {
    urlA.push(rngA[i][0]);
  }
  return urlA;
}