Google apps script 如何在google apps脚本中使用setrequired()

Google apps script 如何在google apps脚本中使用setrequired(),google-apps-script,google-forms,Google Apps Script,Google Forms,我对GoogleApps脚本非常陌生,因为GoogleForm无法执行条件必需的功能,我需要自己修改表单。我在谷歌应用程序脚本网站上找到了这段代码,我试着用它来测试我是否能够实现我想要的。 我想要实现什么: 对于“您喜欢猫还是狗?”问题,如果用户选择猫,“您的兴趣评级”问题将自动设置为“必需” 我从我的代码中得到了什么: if语句没有按预期工作。”无论if声明的条件如何,您的利率问题都设置为必需 代码如下: function myfunction(){ var form = FormApp.cr

我对GoogleApps脚本非常陌生,因为GoogleForm无法执行条件必需的功能,我需要自己修改表单。我在谷歌应用程序脚本网站上找到了这段代码,我试着用它来测试我是否能够实现我想要的。 我想要实现什么:

  • 对于“您喜欢猫还是狗?”问题,如果用户选择猫,“您的兴趣评级”问题将自动设置为“必需”
  • 我从我的代码中得到了什么:

  • if语句没有按预期工作。”无论if声明的条件如何,您的利率问题都设置为必需
  • 代码如下:

    function myfunction(){
    var form = FormApp.create('New Form');
    var item = form.addCheckboxItem();
    item.setTitle('What condiments would you like on your hot dog?');
    item.setChoices([
        item.createChoice('Ketchup'),
        item.createChoice('Mustard'),
        item.createChoice('Relish')
    ]);
    var a= form.addMultipleChoiceItem()
    .setTitle('Do you prefer cats or dogs?')
    .setChoiceValues(['Cats','Dogs'])
    .showOtherOption(true);
    form.addPageBreakItem()
    .setTitle('Getting to know you');
    form.addDateItem()
    .setTitle('When were you born?');
    var b= form.addGridItem()
    .setTitle('Rate your interests')
    .setRows(['Cars', 'Computers', 'Celebrities'])
    .setColumns(['Boring', 'So-so', 'Interesting']);
    if (a != null){
    b= b.setRequired(true);
    }
    
    Logger.log('Published URL: ' + form.getPublishedUrl());
    Logger.log('Editor URL: ' + form.getEditUrl());
    }
    

    关于if语句:变量“a”不会为null,因为您刚刚为变量a设置了一个值

    您必须记住,您正在创建一个表单,将其视为一次性过程。当用户向您的表单提交响应时,此脚本将不会运行

    我可以看到您在这里试图实现什么,遗憾的是,上面的代码不可能实现

    我可以推荐设置你喜欢猫还是狗作为一个必选问题,然后根据答案转到不同的部分


    我喜欢猫,请转到表格的第二部分。我喜欢狗,去表格的第三部分。(如图所示。)

    您好,谢谢您的回复。我试图避免使用此方法,因为我想要创建的实际表单有很多问题(项目请求表单),如果我使用此方法,用户将不得不选择下一个表单,直到它达到他们想要的项目。在过去,我被要求构建类似于您尝试执行的操作。不幸的是,使用谷歌表单是不可能的。GoogleForms非常适合捕获信息,但它的功能非常有限。尝试将工作流设置合并到其中可能是一个真正的难题。我建议您也可以选择Web表单。我将代码更改为if(a='Cats'){b=b.setRequired(true);}但是,它不起作用。是的,它将b设置为required(无需修改)。你会意识到这是一次性的。换句话说,当您的用户提交对表单的响应时,无论他们在a中选择了什么,它都将被设置为必需。我尝试使用web表单,但我遇到了相同的问题。您需要滚动您自己的html表单,使用客户端JavaScript根据以前的答案显示正确的问题,并在客户端和服务器上进行验证,以确保需要回答的问题已得到回答。谷歌表单的应用程序脚本100%无法为您执行此操作。您能举个例子吗?