【问题标题】:I'd like to submit a HTML Service Form in GoogleScript我想在 Google Script 中提交 HTML 服务表单
【发布时间】:2019-07-18 08:51:58
【问题描述】:

我在 GoogleScript 的 HTML 服务中创建了一个表单。 我希望用户以这种形式输入一些值。 之后,我希望用户按下提交按钮并使用用户输入“工作”。

我现在的问题是如何获取用户在 HTMLService 弹出窗口中输入表单的用户输入。

我已经在这个表单中添加了并且还添加了一个提交按钮。 但是当我点击它时,什么也没有发生。

这里是html的代码:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>

  <script>

 function formSubmit() {
            google.script.run.Wertezeigen(document.forms[0]);
        }

  </script>


  <body>

<p>Dieses Formular erzeugt ein neues Triage Dokument und speichert es mit den eingegebenen Werten in xyz ab.</p>


<form id="Triage_Template">

<table style="undefined;table-layout: fixed; width: 460px">
<colgroup>
<col style="width: 110px">
<col style="width: 350px">
</colgroup>
  <tr>
    <td>Gebäude:</td>
    <td><input type="text" name="gebaude"></td>
  </tr>
  <tr>
    <td>Prozessbereich:</td>
    <td><input type="text" name="prozessbereich"></td>
  </tr>
  <tr>
    <td>Straße:</td>
    <td><input type="text" name="straße"></td>
  </tr>
  <tr>
    <td>Objekt:</td>
    <td><input type="text" name="objekt"></td>
  </tr>
  <tr>
    <td>Defekt:</td>
    <td><input type="text" name="defekt"></td>
  </tr>
</table><br>


  <input type="button" onClick="formSubmit()" value="Submit" />

</form>


  </body>
</html>

Code.gs 中的函数:

function Wertezeigen(form) {

  var vorname_test = form.gebaude;
  alert(vorname_test);
  }

我现在正在尝试的非常简单: 当用户点击提交时,我想在表单中显示输入框“gebaude”的输入作为警报。

【问题讨论】:

  • 您需要在表单提交时preventDefault 操作,以便阻止默认操作。

标签: forms google-apps-script submit


【解决方案1】:

您需要给每个表单输入一个唯一的 ID:

<input type="text" name="gebaude" id="gebaude">

由于您尝试在单击提交后在 HTML 页面中显示此内容,因此请使用 return 而不是 alert

return form.gebaude;

将您的表单提交按钮更改为以下代码:

<input type="submit" id="submit" value="Submit" 
        onclick="this.value='Submitting...';
        google.script.run.withSuccessHandler(formSubmitted)
        .Wertezeigen(this.parentNode);
        return false;">
</form>
  <div id="output"></div>

然后在您的 HTML 代码结束之前包含此脚本:

<script> 
  function formSubmitted(status) {
    document.getElementById('Triage_Template').style.display = 'none';
    document.getElementById('output').innerHTML = status;
  }
</script>

【讨论】:

  • 谢谢!好的...这样做了-但是当我单击提交按钮时仍然没有任何反应...还有其他想法吗?
  • 你的函数不是returning 任何东西,我在答案中添加了一些额外的信息。
  • 试过这个......但也不起作用......当我点击“提交”时仍然没有任何反应点击提交后HTML-Form保持打开状态是否正确?也许这里已经是一个错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多