从谷歌脚本访问动态表单字段变量

时间:2012-07-23 15:06:59

标签: google-apps-script

我有一个生成顺序表单字段的独立应用。我无法弄清楚如何使用增量变量访问这些字段。

在我的htmlscript页面中:

<form id="myForm">
First Name: <input type="text" name="firstname" size="30"><br>
<? var listsize = data.length; 
   for (var i = 0; i < data.length; ++i) { ?>  
  <input type="checkbox" name="field<?= i ?>" value="Y"><?!= data[i]?><br>
<? } ?>
<input type="hidden" name="totalitems" value="<?= listsize?>">
<input type='button' onclick='google.script.run.processForm(this.parentNode)' value='submit' name="submit">
</form>

因此会产生一堆名为&#34; field0&#34;,&#34; field1&#34;,&#34; field2&#34;的复选框。等

现在在我的.gs文件中:

function processForm(theForm) {

  var htmlBody =  'Hi '+theForm.firstname',<br>';

  for (var i = 0; i < theForm.totalitems; ++i) {
       var fieldname = "field" + i;
       htmlBody+= theForm.parameter['field'+i];// this does not work
       htmlBody+= theForm.['field'+i];         // this does not work
       htmlBody+= theForm.('field'+i);         // this does not work

  }
}

我可以直接使用theForm.field7访问其中一个动态表单字段,但我不知道如何使用变量&#34; fieldX&#34;

在for循环中访问它

由于

2 个答案:

答案 0 :(得分:1)

这有效:

    htmlBody+= theForm['field'+i.toString()];

必须删除.parameter

答案 1 :(得分:0)

你能试试吗

htmlBody+= theForm.parameter['field'+i.toString()];