Google apps script 如何通过修改存储表单制作动态google表单
我正在尝试基于存储的表单创建一个动态表单。 我写的代码不起作用 当得到表单的用户填写表单时,运行它, 它应该首先修改所有文本,并用根据上次提交确定的关键字替换单词kkk 如果无法做到这一点,那么我希望在提交时对表单进行修改,以便下次打开它。那有可能吗 我知道onOpen()和onSubmit()中的代码没有修改表单的权限。因此,我创建了自己的modifyForm()函数,并在提交时向表单添加了一个触发器。仍然不起作用 当我将触发器设置为“从窗体打开”时,代码确实起作用,但只有当我关闭窗体并重新打开它进行编辑时,代码才起作用。-这种行为被记录在案。所以,我再次寻找一种方式,每次运行表单,或者每次提交表单时,都会动态修改表单Google apps script 如何通过修改存储表单制作动态google表单,google-apps-script,google-forms,Google Apps Script,Google Forms,我正在尝试基于存储的表单创建一个动态表单。 我写的代码不起作用 当得到表单的用户填写表单时,运行它, 它应该首先修改所有文本,并用根据上次提交确定的关键字替换单词kkk 如果无法做到这一点,那么我希望在提交时对表单进行修改,以便下次打开它。那有可能吗 我知道onOpen()和onSubmit()中的代码没有修改表单的权限。因此,我创建了自己的modifyForm()函数,并在提交时向表单添加了一个触发器。仍然不起作用 当我将触发器设置为“从窗体打开”时,代码确实起作用,但只有当我关闭窗体并重新打
function onModify(){
var form = FormApp.getActiveForm();
var imgURL = "http://whatever.com/someimg.jpg";
var img = UrlFetchApp.fetch(imgURL);
// i first check that there is an image item in the current form and then
var imgItem = form.getItems(FormApp.ItemType.IMAGE)[0];
imgItem.setImage(img);
var keyword = "aaaa"; //getKeyword(); // some text returning function
var items = form.getItems();
for (i=0; i<items.length; i++){
var title = items[i].getTitle();
title = title.replace("kkkk", keyword);
items[i].setTitle(title);
}
return form;
}
函数onModify(){
var form=FormApp.getActiveForm();
变量imgURL=”http://whatever.com/someimg.jpg";
var img=UrlFetchApp.fetch(imgURL);
//我首先检查当前表单中是否有图像项,然后
var imgItem=form.getItems(FormApp.ItemType.IMAGE)[0];
imgItem.setImage(img);
var keyword=“aaaa”//getKeyword();//一些文本返回函数
var items=form.getItems();
for(i=0;i仅在谷歌表单上是不可能的
因此,我的解决方案是创建表单的四个存储副本,预先替换“kkk”关键字,所有副本都指向同一个电子表格,但指向不同的工作表,然后在一个单独的网站上,我用python通过重定向来决定向用户呈现哪个表单副本
我必须存储某种标识,这样用户就不会得到两种类型的表单(但这是一个单独的问题)