Кнопка боковой панели скрипта Google Apps не работает - PullRequest
0 голосов
/ 26 июня 2019

Я создаю Google надстройку для листов. Боковая панель, над которой я работаю, предназначена для отправки заявок на получение помощи, но прежде чем я смогу разработать эту часть, я не получаю кнопку отправки в форме для вызова функции javascript, которую я хочу построить.

Я удалил все данные формы из вызова кнопки 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. На данный момент ничего не происходит.

1 Ответ

2 голосов
/ 26 июня 2019
  • В вашей ситуации, когда нажата кнопка «ОТПРАВИТЬ», сценарий sendMsg() на стороне скрипта Google Apps не работает.
    • Вы хотите запустить 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">

Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...