我正在尝试基于存储的表单创建动态表单。 我写的代码不起作用。
当获得表单填写的用户运行时, 它应首先修改所有文本,并用根据上次提交确定的关键字替换单词kkkk。
如果无法完成,那么我希望在提交时将表单修改为下次打开时。那可能吗。
我知道onOpen()和onSubmit()中的代码没有修改表单的权限。所以我创建了自己的modifyForm()函数,并为From-Form On-Submit添加了一个触发器。还是行不通。
当我将触发器设置为On-Form On-Open时,代码DID工作,但仅当我关闭表单并重新打开它进行编辑时。 - 记录了这种行为。所以,再一次,我正在寻找一种方法,每次运行表单时,或者每次提交表单时,都会动态修改它。
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;
}
感谢您提供任何帮助!!
答案 0 :(得分:0)
仅在Google表单上无法使用。
所以我的解决方案是创建表格的四个存储副本替换&#34; kkkk&#34;关键字提前,所有进入相同的电子表格,但不同的表格,并在一个单独的网站上我决定在python中通过重定向向用户呈现的表单副本。
我必须存储某种标识,以便用户不会获得两种类型的表单(但这是一个单独的问题)。