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 を使用して動的フォーム フィールドの 1 つに直接アクセスできますが、変数「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 に答える