Google App Script и Javascript: доступ к элементам формы внутри тегов div - PullRequest
0 голосов
/ 16 декабря 2018

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

Вот код:

Javascript:

<script>
            function update()
                {
                    google.script.run.selectCell(document.getElementById(location));

                    alert("Success");//test message
                }
</script>

HTML код:

<div class="container">
  <form>

    <div class="row">

      <div class="col-25">
        <label for="location">Location</label>
      </div>

      <div class="col-75">
        <input type="text" id="location" name="location_txt" placeholder="The location..">
      </div>

    </div>

    <div class="row">
      <input type="button" onclick="update()" value="Update">
    </div>

Сценарий Google App:

    function selectCell(domAddress)
        {
          var val0 = domAddress.value;
          if (cell)
          {
            sheet.appendRow([val0]);
          }
        }

1 Ответ

0 голосов
/ 16 декабря 2018

Проблемы:

  • Элементы DOM, кроме элемента формы, не являются допустимыми параметрами для функций на стороне сервера

Решение:

  • Передайтеформировать себя в функции на стороне сервера, которая будет преобразована в объект формы.

Модифицированный код:

ClientSide:

<div class="container">
    <form id ="myForm">

        <div class="row">

          <div class="col-25">
            <label for="location">Location</label>
          </div>

          <div class="col-75">
            <input type="text" id="location" name="location_txt" placeholder="The location..">
          </div>

        </div>

        <div class="row">
          <input type="button" onclick="update()" value="Update">
        </div>
    </form>

<script>
function update()
{
google.script.run.selectCell(document.getElementById('myForm'));

alert("Success");//test message
}
</script>

На стороне сервера:

function selectCell(formObject)
    {
      var val0 = formObject['location_txt']
      if (val0)
      {
        sheet.appendRow([val0]);
      }
    }

Для чтения:

...