在提交前根据其他响应动态填充表单字段



我有一个表单,我想动态更改,我已经阅读了文件,但我似乎找不到任何明确的答案。我可以让我的表单删除下拉列表中的选项,因为他们在第三个问题中使用了单选按钮#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

最新更新