我有一个生成顺序表单字段的独立应用。我无法弄清楚如何使用增量变量访问这些字段。
在我的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循环中访问它由于
答案 0 :(得分:1)
这有效:
htmlBody+= theForm['field'+i.toString()];
必须删除.parameter
答案 1 :(得分:0)
你能试试吗
htmlBody+= theForm.parameter['field'+i.toString()];