Google apps script 从应用程序脚本提交时,谷歌表单多项选择其他选项不可见
我有一个谷歌表格,里面有一个选择题“领域领域”。此字段有两个有效答案Google apps script 从应用程序脚本提交时,谷歌表单多项选择其他选项不可见,google-apps-script,google-forms,google-apps-script-api,Google Apps Script,Google Forms,Google Apps Script Api,我有一个谷歌表格,里面有一个选择题“领域领域”。此字段有两个有效答案 美国和 其他(当您选择其他选项时,您可以在文本区域中写下任何国家的名称) 现在我正在尝试使用谷歌应用程序脚本提交此表单。在从应用程序脚本提交时,如果我将这个选择题的答案作为“美国”发送,它将起作用。我想在提交表格时发送其他人作为此问题的答案。有人能帮我吗。我包括以下字段和脚本的图片供参考 我正在尝试使用谷歌脚本(下面提到的部分脚本)提交此表单。 var formID = "xxxxxxxxxxxxxxxxxxx
var formID = "xxxxxxxxxxxxxxxxxxxxxx";
var Formobj= FormApp.openById(formID);
var formResponse = Formobj.createResponse();
var items = Formobj.getItems();
var territory = items[1]
var territoryvalue = "United States"
if (territoryvalue.indexOf("United States") !== -1)
{
var territoryfield = territory.asMultipleChoiceItem()
var territoryresponse = territoryfield .createResponse([["United States"]])
formResponse.withItemResponse(territoryresponse);
}
需要帮助以“其他人”作为答案提交此表格文档内容如下:
为此多选项创建一个新项目。如果响应参数与此项的有效选项不匹配,则引发异常,除非设置为true
因此,要提交“其他”响应,只需将值传递给它
var territoryresponse = territoryfield.createResponse([["Other Country"]])
如果您想在表单中添加一个新值作为可选选项,则可以,然后
我试着复制你的代码,得到了你想要的解决方案 如果你想在个人回答中勾选“其他”答案。您的响应字符串应如下所示:“其他_选项(国家)” 例如,如果希望墨西哥出现在“其他:”选项中,则应将“\u其他\u选项墨西哥”作为territoryvalue变量的值。在代码的这一部分中应该是这样的:
var territoryvalue = "__other_option__ Mexico"
我看到你在Issue Tracker中提交了一个bug,根据你在那里的解释,我终于理解了这个问题 这似乎是一个bug: 在表单中,如果通过应用程序脚本提交了带有
其他
选项的请求,则在尝试编辑响应时不会填充该其他选项。如果通过UI提交响应,则填充Other
选项
需要注意的是,响应本身已成功提交,可以在表单的响应
选项卡中看到;试图编辑响应时,它只是没有填充
复制步骤:
多选项(如果还没有)
添加“其他”
,以获得其他选项
设置
(齿轮图标)并选中选项受访者可以:提交后编辑editUrl
)任何受此影响的人,请考虑点击左上方的星星来跟踪它并帮助区分它。我不确定我是否理解。在
问题
选项卡中看不到墨西哥的答复(或其他任何答复),而是在答复
选项卡()中。你在哪里看到空白字段?对不起,如果我的问题不是很有描述性的。有一个选择题,其中有两个选项-美国和其他(谷歌表单中的功能,允许用户输入任何其他不是选择题的文本)。在从脚本提交表单时,我们正在向这个多选项发送答案——如果我们以美国的身份发送答案,它也会接受并显示。我正试图找到一种方法来发送其他人作为这个选择题的答案。是的,我理解。我的问题是什么让你认为答案没有被发送。我试图复制这个,它肯定是为我发送的(我可以在Responses
选项卡中看到响应,我为其发送了一个屏幕截图)。当然,只要我添加formResponse.submit()
,我的答案就会被发送出去,但是当我打开表单时,答案就不可见了。但正如您在截图中发送的,您有两个选项1。美国和2。墨西哥但我有两个选择,一个是美国,另一个是美国。其他:\ uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我正在尝试提交表格,并将此其他选项作为答案。如果我有两个单选按钮,比如美国和墨西哥,那么它的工作状态和你的截图一样好。在Responses
选项卡中显示Mexico
,因为这是在Other:
选项中写的。在我的表格中没有选择墨西哥,只有美国和其他国家。当然,在这张表格中,如果我通过在其他:
中键入墨西哥
来提交答案,则可以成功看到该答案。我猜,值得一提的是,你在错误的地方寻找答案。你应该检查响应选项卡。我用同样的方法尝试了,但是没有显示出来。只有在美国,它才会显示出来,如果我传递的是它在后端响应google表单中显示的任何其他值,而不是在form@roshankumar我怀疑您是在询问如何在表单中添加另一个国家作为选项,而不是如何提交其他回复。请检查我的更新答案。我用同样的方法尝试了,但没有显示。只有在美国,它才会出现,如果我是“其他人”,它会出现在后端响应google表单中,但不会出现在formI-see中。请查看我的更新答案,并告诉我这是否解决了您的问题。@roshankumar请告诉我这是否解决了您的问题。:)我试过这个,当我只发送其他_选项时,其他字段的单选按钮就变了
var territoryvalue = "__other_option__ Mexico"
function submitAndGetEditResponse() {
var form = FormApp.getActiveForm();
var item = form.getItems()[0].asMultipleChoiceItem();
var otherOption = "Option 2"; // Not one of the named options
var itemResponse = item.createResponse([[otherOption]]);
var formResponse = form.createResponse().withItemResponse(itemResponse);
var editUrl = formResponse.submit().getEditResponseUrl();
console.log(editUrl);
return editUrl;
}