我有一个表单,我想动态更改,我已经阅读了文件,但我似乎找不到任何明确的答案。我可以让我的表单删除下拉列表中的选项,因为他们在第三个问题中使用了单选按钮#2 ?我可以格式化问题1的文本,并用相同的答案预填写问题6(默认情况下,需要更改)?
基本上,我需要使用代码来确定地址是否用缩写形式拼写(st, rd, cres, ct),并将其加长并大写(Street, Road)。我都不知道这是否可能。如果是任何人都可以提供样例代码或指出我正确的帮助文档,这将是感激。如果不能,如果我的一些选择选项需要从谷歌电子表格中读取,这在网络服务器上是可行的吗?我可以通过谷歌网站吗?
你看过Google Apps Services的Form
类吗?
类形式
:
表单可以从FormApp访问或创建。
例如:
addTextItem()
或:
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);
}
}
你可以使用Apps Script HTML Service;编写HTML来创建自定义表单;编写JavaScript代码来做你想做的;然后将Apps Script添加到Google站点。或者只是将Apps Script HTML Service作为自己的网站运行。但是这个选项要求您能够编写HTML和JavaScript。你想做的事是可能的。
至于创建自定义表单,检查用户输入并更改它,可以在Apps Script HTML Service中完成。然后你需要把数据保存在某个地方。Google Forms是为那些没有编程知识的人设计的。
看来你只是在寻找不同产品的一般信息,以便你可以做出选择。
要阅读有关HTML服务,请点击以下链接作为开始:
Google Documentation HTML Service