1

我有一个生成顺序表单字段的独立应用程序。我不知道如何使用增量变量访问这些字段。

在我的 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>

这样会生成一堆名为“field0”、“field1”、“field2”等的复选框。

现在在我的 .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 直接访问其中一个动态表单字段,但我不知道如何使用变量“fieldX”在 for 循环中访问它

谢谢

4

2 回答 2

1

这有效:

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

必须删除 .parameter

于 2012-07-23T23:27:43.943 回答
0

你能试一下吗

htmlBody+= theForm.parameter['field'+i.toString()];
于 2012-07-23T16:15:41.400 回答