Google Apps脚本侧边栏表单“发送”按钮不起作用

时间:2019-06-25 23:38:47

标签: javascript html forms google-apps-script google-sheets

我正在为表格创建一个Google插件。我正在使用的侧边栏旨在提供帮助票,但是在开发这部分内容之前,我没有得到表单中的提交按钮来调用要构建的javascript函数。< / p>

我已从html按钮调用激活的Logger.log中删除了所有表单数据。没有骰子。 我创建了一个完全独立(且非常简单)的按钮,以调用另一个函数来调用Logger.log。这也没有用。 我已经仔细检查了表单数据,发送调用和函数。 我确保函数的名称(sendMsg)是唯一的。 我认为问题可能不在我的代码中,而是以其他方式将html和javascript(.gs)连接在一起。

这是html表单:

<div class="block form-group">
<form>
  <label for="reason">Purpose of Contact</label>
  <select id="reason">
    <option selected>Help Request</option>
    <option>Feature Request</option>
    <option>Error Report</option>
    <option>Other</option>
  </select>
  <label for="email">Email</label>
  <input type="text" id="email" style="width: 200px;">
  <label for="phone">Phone</label>
  <input type="text" id="phone" style="width: 120px;" value = "optional">
<br>
    <label for="translated-text">
      <b>Message</b></label>
    <textarea id="userMsg" rows="15" cols="35">
    </textarea>
<br>
<input id="app" name="appSrc" type="hidden" value="COE">
<input type="button" class="action" name="helpRequest" value="SEND" onClick="google.script.run.sendMsg( 
           document.getElementById('reason').value,
           document.getElementById('email').value,
           document.getElementById('phone').value,
           document.getElementById('userMsg').value,
           document.getElementById('appSrc').value
   )" />
   </form>
   </div>

这是称为:

的函数
function sendMsg(appSrc,reason,email,phone,userMsg) {
    appV = appSrc;
    reasonV = reason;
    emailV = email;
    phoneV = phone;
    userMsgV = userMsg;
    Logger.log('cheese');
}

现在,该表单应仅导致Logger.log消息。此时什么也没发生。

2 个答案:

答案 0 :(得分:2)

  • 根据您的情况,单击“发送”按钮时,Google Apps脚本一侧的sendMsg()脚本不起作用。
    • 您要运行sendMsg()

如果我的理解是正确的,那么该修改如何?

修改点:

  • 当我看到<input id="app" name="appSrc" type="hidden" value="COE">时,appSrc不是id。这样,在document.getElementById('appSrc').value处发生错误,并且sendMsg()无法正常工作。因此,例如,如果您的脚本被修改,请使用app

发件人:

document.getElementById('appSrc').value

收件人:

document.getElementById('app').value

发件人:

<input id="app" name="appSrc" type="hidden" value="COE">

收件人:

<input id="appSrc" name="appSrc" type="hidden" value="COE">

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

答案 1 :(得分:0)

如果有人遇到和我一样的问题... onpress 在这里似乎不起作用。我不得不将其更改为 onclick