1

我正在尝试使用 HTML 服务,特别是 HTML 表单。我在复杂的 html 结构中有我的 sumbit 按钮。我怎么能代替这条线:

<input type="button" value="Submit"
          onclick="google.script.run
              .withSuccessHandler(returnFunctionHandler)
              .processForm(this.parentNode)" />

this.parentNode 它不是 Node 表单元素。

现在,没有任何东西传递给 ProcessForm 应用程序脚本函数,而且似乎根本没有运行。

先感谢您

<script>
      function updateUrl(url) {
        var div = document.getElementById('output');
        div.innerHTML = '<a href="' + url + '">Got it!</a>';
      }
    </script>
    <form id="myForm">
    <fieldset style="width: 0px; border-color: #0000FF;">
    <legend style="color: #0000FF; font-size: 12pt; font-weight: bold; width:400px">Inserimento richiesta</legend>
    <table border="0">
    <tr>
    <td style="font-weight: bold;">Data*:</td><td></td>
    </tr>
    <tr>
    <td style="font-weight: bold;">Richiedente*:</td>
    <td>
    <select style="width:150px;">
    <? 
    var data=recuperaDati("idSSRichiedenti");
    for (var j = 1; j < data.length; j++) {
    ?>
    <option value <?=data[j][1]?>><?= data[j][0]?></option>
    <? } 
    ?>
    </select></td>
    </tr>
    <?//tipologia?>
    <tr>
    <td style="font-weight: bold;">Tipologia*:</td>
    <td>
    <select style="width:150px;">
    <? 
    var data=recuperaDati("idssTipologia");
    for (var j = 1; j < data.length; j++) {
    ?>
    <option value <?=data[j][0]?>><?= data[j][0]?></option>
    <? } 
    ?>
    </select></td>
    </tr>

    <?//livelli di urgenza?>
    <tr>
    <td style="font-weight: bold;">Livelli di urgenza*:</td>
    <td>
    <select style="width:150px;">
    <? 
    var data=recuperaDati("idssLivelliUrgenza");
    for (var j = 1; j < data.length; j++) {
    ?>
    <option value <?=data[j][0]?>><?= data[j][0]?></option>
    <? } 
    ?>
    </select style="width:150px;"></td>
    </tr>

    <?//Reparti?>
    <tr>
    <td style="font-weight: bold;">Reparto*:</td>
    <td>
    <select style="width:150px;">
    <? 
    var data=recuperaDati("idssReparti");
    for (var j = 1; j < data.length; j++) {
    ?>
    <option value <?=data[j][0]?>><?= data[j][0]?></option>
    <? } 
    ?>
    </select></td>
    </tr>


    <tr>
    <tr>
    <td style="font-weight: bold;">Cognome:</td><td><input type="text" name="cognome" size="10"></td>
    </tr>
    <tr>
    <td style="font-weight: bold;">E-mail:</td><td><input type="text" name="email" size="10"></td>
    </tr>
    <tr>
    <td style="font-weight: bold;">Allegati:</td><td><input name="myFile" type="file"/></td>
    </tr>
    <tr>
    <td></td><td style="float:right;">
      <input type="button" value="Submit"
          onclick="google.script.run
              .withSuccessHandler(returnFunctionHandler)
              .processForm(this.parentNode)" /></td>
    </tr>
    </table>     
    </fieldset>
    </form>
    <div id="output"></div>
4

2 回答 2

0

你可以使用这个:

<input type="button" value="Submit"
          onclick="google.script.run
              .withSuccessHandler(returnFunctionHandler)
              .processForm(this.parentNode.parentNode
                .parentNode.parentNode.parentNode)" />

(如果我只是将正确的父母数量计算到表单标签)。

不是很好看,也很难修改,但它在类似的情况下对我有用,只有两个级别。不过,没有测试您的代码。

问候。

于 2014-08-10T18:01:25.073 回答
0

您可以使用它document.getElementById('myForm')来检索表单的元素。

所以 :

<input type="button" value="Submit"
          onclick="google.script.run
              .withSuccessHandler(returnFunctionHandler)
              .processForm(document.getElementById('myForm'))" />
于 2013-05-30T14:18:13.050 回答