Javascript 谷歌应用程序脚本:为边栏提供内容
我在电子表格中添加了一个侧栏,并且能够将变量从侧栏传递到工作表(使用google.script.run)。如何将值从电子表格传递回侧栏,修改侧栏内容 编辑:添加我的代码。 基本上,我在边栏中输入一个数字,在电子表格中找到它的行位置,然后需要将该行字段传递回边栏,以更新div(#fieldA,fieldB) 一旦我得到行号,我只需要将fieldA,fieldB值添加到变量中,但我不知道如何将其传递回侧栏 电子表格Javascript 谷歌应用程序脚本:为边栏提供内容,javascript,google-apps-script,Javascript,Google Apps Script,我在电子表格中添加了一个侧栏,并且能够将变量从侧栏传递到工作表(使用google.script.run)。如何将值从电子表格传递回侧栏,修改侧栏内容 编辑:添加我的代码。 基本上,我在边栏中输入一个数字,在电子表格中找到它的行位置,然后需要将该行字段传递回边栏,以更新div(#fieldA,fieldB) 一旦我得到行号,我只需要将fieldA,fieldB值添加到变量中,但我不知道如何将其传递回侧栏 电子表格 Number FieldA FieldB 111 1a 1b
Number FieldA FieldB
111 1a 1b
222 2a 2b
333 3a 3b
index.html
<form>
<input type="text" id="someNumber">
<button type="button" onClick="findNumber()">Find number</button>
</form>
<div id="fieldA"></div>
<div id="fieldB"></div>
<script>
function findNumber(){
var number = document.getElementById("someNumber").value;
google.script.run.findNumber(number);
}
</script>
我有一个在open上运行的脚本,它获取默认值,然后填充正确的表单字段。我使用jquery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>
$(function() {
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail).getCEDefaults();
});
function populateQuestions(defaults){ //defaults is the return variable from getCEDefaults() on the .gs file
$("#enableDisable").attr('checked', defaults.submitTrigger);
};
$(函数(){
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail.getCEDefaults();
});
函数populateQuestions(defaults){//defaults是.gs文件上getCEDefaults()的返回变量
$(“#enableDisable”).attr('checked',defaults.submitTrigger);
};
我有一个在open上运行的脚本,它获取默认值,然后填充正确的表单字段。我使用jquery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>
$(function() {
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail).getCEDefaults();
});
function populateQuestions(defaults){ //defaults is the return variable from getCEDefaults() on the .gs file
$("#enableDisable").attr('checked', defaults.submitTrigger);
};
$(函数(){
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail.getCEDefaults();
});
函数populateQuestions(defaults){//defaults是.gs文件上getCEDefaults()的返回变量
$(“#enableDisable”).attr('checked',defaults.submitTrigger);
};
除了侧栏首次加载外,没有“内置”方式将数据传递到侧栏。您可以将计时器放入侧栏中的HTML
标记中。计时器以一定的间隔运行var theTimer=window.setInterval(响应监视器,500)//每隔1/2秒,检查响应值
,该代码行运行名为monitorForTheResponse
的函数。然后,monitorForTheResponse
函数需要“知道”在哪里查找想要监视的内容。您可以将类似于onEdit()
的东西与计时器配合使用onEdit()
存储一些东西,计时器得到。两个可能有用的文档:Scriptlets,它让您在所提供的HTML中运行GAS代码-和scriplet的这种子类型,它让您在创建GAS函数时将变量从GAS函数传递到侧栏:EDIT:取决于您的代码是什么,你可以将以上内容与成功的管理者结合起来:看看这个答案:六年过去了(现在是2020年),不幸的是,这个问题仍然没有内置的解决方案。正如@AlanWells所说,唯一的方法是设置一个计时器来监控单元格的值。除了侧栏第一次加载外,没有“内置”的方法将数据传递到侧栏。您可以将计时器放入侧栏中的HTML
标记中。计时器以一定的间隔运行var theTimer=window.setInterval(响应监视器,500)//每隔1/2秒,检查响应值
,该代码行运行名为monitorForTheResponse
的函数。然后,monitorForTheResponse
函数需要“知道”在哪里查找想要监视的内容。您可以将类似于onEdit()
的东西与计时器配合使用onEdit()
存储一些东西,计时器得到。两个可能有用的文档:Scriptlets,它让您在所提供的HTML中运行GAS代码-和scriplet的这种子类型,它让您在创建GAS函数时将变量从GAS函数传递到侧栏:EDIT:取决于您的代码是什么,你可以将以上内容与成功的管理者结合起来:看看这个答案:六年过去了(现在是2020年),不幸的是,这个问题仍然没有内置的解决方案。正如@AlanWells所说,唯一的方法是设置一个计时器来监控单元格的值。