在Google Script中定义全局变量

时间:2015-03-13 16:11:23

标签: javascript forms global-variables variable-declaration

我正在开展一个项目,我有一个谷歌网站表单,将谷歌CloudSQL(资料)数据库中的数据提取到谷歌电子表格,然后表单将选择要显示的相应信息,具体取决于你的哪个部分选择,以允许编辑有关现有零件的信息。该表单还允许将新部件添加到数据库中,其中表单将新数据添加到电子表格中,该电子表格将新数据写入CloudSQL数据库。 (最好直接删除电子表格,然后直接从数据库中提取表单,然后直接写入数据库,但这对我来说可能有点复杂)

所以我有一个非常好的剧本,虽然我对这个东西很陌生,但我已经成功通过在网上采用现有的例子,并修改了很多以满足我的需要。然而,在表单中添加新功能或其他功能有点困难。

在我的代码中,我有3个函数:

doGet (创建表单,并添加部件属性的所有字段 - 例如,名称,制造商,成本等。

goSelection (从表单上的列表框中,您可以选择“新建”以添加新部件,或者滚动列表并选择partID来编辑部件属性。当您选择partID时从列表框中,它使用部件的相应属性填充所有表单字段,可以对其进行编辑和保存(使用goSave函数)以更新数据库中的部件)

goSave (选择New或partID后,按“保存”按钮会将其写入数据库)

我想为用户创建另一个列表框(显示谁添加或编辑了一个部分),我希望创建一个全局变量,以便我可以在doGet中使用它(在表单中显示它),但是同样在goSave中(如果他们选择了一个用户,他们必须输入密码才能保存)

不确定这是否是最好的解决方法,但这是我前进的方向。

我现在的主要问题是,我似乎无法声明全局变量。我看过互联网,到处都说我可以在函数之外定义一个全局变量,就像在函数中定义变量一样,我甚至可以删除“var”部分,它将是全局的。 我已经尝试了两种方式,它似乎不起作用,因为变量不会变成蓝色(就像它在我的函数内部一样)然后随时我尝试引用全局变量,它也不是蓝色。

见图片:http://postimg.org/image/vnxxgrfrl/

userSelector在函数内部声明时为蓝色,但在函数外部声明时,它不会变为蓝色,表示它是可用的变量。

非常感谢任何帮助或反馈!

1 个答案:

答案 0 :(得分:0)

你测试过吗?全局变量在编辑器中保持黑色。他们不会变蓝。你应该好好去。

如果您遇到问题,请记住,全局变量在google脚本编辑器中存储为常量,并确保它们具有唯一名称。您不希望它们与您可能决定使用的任何库混淆。即使您没有使用任何库,也可以将所有全局变量置于上限或其他内容中,以便明确区分本地变量。