Google App脚本和Javascript:访问div标签内的表单元素

时间:2018-12-16 14:52:57

标签: javascript html google-apps-script web-applications

我想访问表单和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 :(得分:0)

问题:

  • 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]);
      }
    }

阅读: