Google Apps脚本:提交表单

时间:2017-06-21 17:41:24

标签: google-apps-script reload google-apis-explorer

我终于进入了我的应用程序的决赛步骤,而且只有一件事我无法弄清楚如何写:我正在使用iframe在Google Apps脚本中加载一个页面,我有一个表单。

我能够在Google电子表格中写入数据,如果数据被正确插入,我会收到成功的消息。我唯一得不到的是如何在几秒钟后刷新帧以确保用户阅读消息......

任何帮助?

非常感谢!

这是我的代码(归功于@Cooper帮助我很多 - 他基本上写了代码)

    <body>
      <div id="errorMessage" style="display:none;">
        <h3>Errore</h3>
        <p>Tutti i campi devono essere compilati.</p></div>
      <div id="data">
          <form name="reqForm" id="reqForm" method="post" action="" accept-charset="UTF-8">
               <label for="area">* Area</label>
            <select id="area">
               <option value="">--Seleziona--</option>
               <option value="1">1</option>
               <option value="2">2</option>
               <option value="3">3</option>
               <option value="4">4</option>
               <option value="5">5</option>
               <option value="6">6</option>
            </select>
            <br />
               <label for="nome">* Oggetto:</label>
            <input type="text" id="oggetto" name="oggetto" />
            <br />
            <br />
               <label for="nome">* Nome:</label>
            <input type="text" id="nome" name="nome" />
            <br />
               <label for="cognome">* Cognome:</label>
            <input type="text"  id="cognome" name="cognome" />
            <br />
               <label for="mat">Matricola:</label>
            <input type="text" pattern="[0-9]{6}" id="mat" name="mat" />
            <br />
               <label for="mail">* E-mail:</label>
            <input type="mail" id="mail" name="mail"/>
            <br />
               <label for="testo">* Richiesta:</label>
            <textarea id="testo" name="testo"></textarea>
            <br />
            <button type="button" value="Invia" id="btnSend" class="button mainBtn">Invia</button>
    </form>
      </div>
      <div id="resp" style="display:none;">
        <h3>Inviato</h3>
        <p>I tuoi dati sono stati registrati.<br/>Riceverai risposta all'indirizzo indicato.</p>
      </div>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>
  $(function() {
    $('#btnSend').click(validate);
  });

  function setResponse(a)
  {
    if(a)
    {
      $('#data').css('display','none');
      $('#resp').css('display','block');
    }
  }

  function validate()
  {
        var area = document.getElementById('area').value;
        var n = document.getElementById('nome').value;
        var c = document.getElementById('cognome').value;
        var m = document.getElementById('mat').value;
        var em= document.getElementById('mail').value;
        var t = document.getElementById('testo').value;
        var o = document.getElementById('oggetto').value;

    var a = [n, c, m, em, area, o, t, "", "Ricevuta"];

    if(area && n && c && em && o && t)
    {
      google.script.run
        .withSuccessHandler(setResponse)
        .getData(a);
        $('#errorMessage').css('display','none');
        return true;
    }
    else
    {
      $('#errorMessage').css('display','block');
    }
  }

  function loadTxt(from,to)
  {
      document.getElementById(to).value = document.getElementById(from).value;
  }

 console.log('My Code');

  

1 个答案:

答案 0 :(得分:0)

好。嗯,我认为就是这样。您只需刷新页面即可。你可以在那里放一个按钮,说明提交另一个只刷新页面的表格。我想你可以使用Javascript Timer在setResponse();

之后10秒刷新页面