我有一个我希望动态更改的表单,我已经阅读了文档,但我似乎无法找到任何确定的答案。我可以让我的表单从下拉列表中删除选项,因为他们使用第3个问题的单选按钮#2?我可以格式化问题1中的文本并使用它来预先填写问题6并使用相同的答案(默认情况下,需要更改)吗?
基本上我需要使用代码来确定地址是用拼写(st,rd,cres,ct)拼写,还是加长和封装它们(Street,Road)。我甚至不知道这是否可行。如果可以,任何人都可以提供示例代码或指向正确的帮助文档,我们将不胜感激。如果不能在网络服务器上这样做,如果我需要从谷歌电子表格中读取我的一些多项选择?我可以通过谷歌网站吗?
答案 0 :(得分:1)
您是否查看了Form
Google Apps服务类?
它声明:
可以从FormApp访问或创建表单。
例如,您可以使用:
addTextItem()
OR:
createChoice(value)
// Open a form by ID and add a new multiple choice item.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var item = form.addMultipleChoiceItem();
item.setTitle('Do you prefer cats or dogs?')
.setChoices([
item.createChoice('Cats'),
item.createChoice('Dogs')
])
.showOtherOption(true);
您不想打开新表单,但请使用当前打开的表单。
/**
* Adds a custom menu to the active form, containing a single menu item for
* invoking checkResponses() specified below.
*/
function onOpen() {
FormApp.getUi()
.createMenu('My Menu')
.addItem('Check responses', 'checkResponses')
.addToUi();
}
检查当前的回复?
/**
* Gets the list of responses and checks the average rating from the form
* created in createForm() above.
*/
function checkResponses() {
var form = FormApp.getActiveForm();
var responses = form.getResponses();
var score = 0;
for (var i = 0; i < responses.length; i++) {
var itemResponses = responses[i].getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
if (itemResponse.getItem().getType() == FormApp.ItemType.SCALE) {
score += itemResponse.getResponse();
}
}
var average = score / responses.length;
FormApp.getUi().alert('The score is ' + average);
}
}
答案 1 :(得分:0)
您可以使用Apps脚本HTML服务;编写HTML以创建自定义表单;编写JavaScript代码来做你想做的事情;然后将Apps脚本添加到Google站点。或者只是将Apps脚本HTML服务作为其自己的网站运行。但是这个选项要求您能够编写HTML和JavaScript。你想做什么是可能的。
至于创建自定义表单,检查用户输入并进行更改,可以在Apps脚本HTML服务中完成。然后你需要在某处保存数据。 Google表单旨在方便那些没有编程知识的人。
您似乎只是在寻找有关不同产品可能和不可能的一般信息,以便您可以做出选择。
有关HTML服务的阅读,请单击以下链接作为开始的地方: