GoogleAppScript和Javascript:访问div标记中的表单元素



我想访问表单和div中的输入元素。我是谷歌应用程序脚本的新手,我认为我需要将一个包含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>

谷歌应用程序脚本:

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

问题:

  • DOM元素(除form元素外(不是服务器端函数的合法参数

解决方案:

  • 将表单本身传递给服务器端函数,该函数将被转换为表单对象

修改的代码:

客户端:

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

阅读:

  • 服务器客户端通信

最新更新