Google应用程序脚本HTML服务根据用户选择动态填充

Google应用程序脚本HTML服务根据用户选择动态填充,html,google-apps-script,google-sheets,Html,Google Apps Script,Google Sheets,我想要一个HTML表单,用户可以在其中选择他们想要修改的个人记录的名称。用户选择姓名后,需要从电子表格中检索该人员的详细信息,并用于预填充表单上的各个字段,以允许用户对其进行编辑 我如何: a在用户从当前列表中选择一个人后,使用数据库中的值更新表单上的值,以便在填充表单的其余部分后,也可以更新所选名称 或 b出示一张只有一个人名字的表格,我可以做这一点。当用户单击提交获取此数据时,在电子表格中查找用户并将相关详细信息传递给新表单,以便用户可以编辑这些详细信息 在后台,我计划删除与原始选择相关的所

我想要一个HTML表单,用户可以在其中选择他们想要修改的个人记录的名称。用户选择姓名后,需要从电子表格中检索该人员的详细信息,并用于预填充表单上的各个字段,以允许用户对其进行编辑

我如何:

a在用户从当前列表中选择一个人后,使用数据库中的值更新表单上的值,以便在填充表单的其余部分后,也可以更新所选名称

b出示一张只有一个人名字的表格,我可以做这一点。当用户单击提交获取此数据时,在电子表格中查找用户并将相关详细信息传递给新表单,以便用户可以编辑这些详细信息

在后台,我计划删除与原始选择相关的所有行,并根据编辑的表单数据插入这些行

我可以绘制表单并填充各个字段,但我正在努力的是在字段中进行选择后更新表单,或者将值传递给第二个表单,以便在那里进行更新


我没有包括任何代码,因为我没有任何接近工作。我有一个gs文件和一个html模板文件,知道如何从一个调用另一个。我尝试了各种方法,但每次都失败了:

在输入字段上使用DOM事件侦听器调用特定的应用程序脚本函数,该函数读取数据源,并将包装所需数据的对象返回给HTML文件javascript中的成功/失败处理程序。页面内成功/失败处理程序将根据需要操纵DOM元素,以显示您的下一个问题或要求正确输入的适当帮助消息,等等

非常相关:


谢谢@tehhowch,但我无法让它工作。如果我添加onchange=google.script.run.editPerson,则会调用'editPerson'函数,但不会传递表单的上下文,因此不会对表单进行更新。如果将其更改为onchange=google.script.run.editPersonthis.parentNode,则不会调用editPersonform函数。你能给我举个例子说明它是如何工作的吗?我成功地使用成功/失败处理程序将表单中的数据获取到电子表格中,但更新已呈现的HTML表单的具体示例是我的挑战。@kxm首先只进行静态值更新,例如始终将其职业的值设置为painter,完全在HTML文件中。一旦有了它,任务就变成了给我的静态值更新函数实际值。另外,一旦你有了一个静态值更新,你就可以保证有代码可以编辑到你的问题中,这样你就可以得到有针对性的帮助。它不起作用,因为如果在调用函数时使用this.parentNode,则不会调用该函数。如果我将this.parentNode从函数调用中移除,则函数将被调用,但没有表单的上下文。所以我被卡住了。谢谢@tehhowch,我有函数editPersonform{Logger.logeditPerson;form.getElementById'baseRate'.value=1;},但它甚至没有被onchange=google.script.run.editPersonthis调用。parentNode@kxm您应该将HTML文件中的函数作为普通处理程序引用。这将帮助您调试它们,并避免使用长得离谱的元素说明符,因为在调用异步方法时,如果要将数据带回HTML页面,则需要包含withFailureHandler和withSuccessHandler。请查看第一个链接,以及它提供的所有.gs和.html示例文件。