我怎样才能得到物品响应ID" s?

时间:2017-03-21 14:15:28

标签: forms google-apps-script

我制作了一个可以由bridgeclubs用于注册bridgedrive的模板系统(Drivea)。注册表单(表单1)的第一个问题是在(1)注册,(2)更改其以前的signedup数据或(3)在之前注册之后退出bridgedrive之间进行选择。 当人们想要改变他们以前的signedup数据时,他们只需要提供一个数字代码(在注册后在确认邮件中给出)和他们的电子邮件地址。他们直接收到一封电子邮件,其中提供了预先填写的Url。这个预先填充的Url提供了另一种形式,而不是第一种形式(如上所述的3种选择),几乎相同的问题。数据从第一个表单的响应表中提取,并从第二个表单提交到预填充的URL中。更改数据并提交第二个表单后,新数据将再次复制到表单1的响应表中。 在预填充的URL中是具有相应数据的itemresponse id。这些数字是通过获取表单2的url给出的。这些数字在表单1的脚本中用于构造预填充的Url。这是非常好的,因为只要两种形式的问题都没有改变,这些数字就不会改变。 到现在为止还挺好。

现在我正在开发一种桥牌俱乐部可以添加一个额外的问题(项目)。他们可以删除那个额外的项目,如果有必要带回一个额外的(其他)问题。这可以通过我做的一些功能实现。 但是,每当itemresonse Id更改该额外问题时,在表单中设置额外项目(并自动也在表单2中)。 所以我正在寻找一个解决方案,在填写表单中的问题之前,在表单2中找到该问题的响应ID。

在表单中,您可以按item.getId()获取项目的ID(编号)。在制作表单时,会直接分配这些ID。 要获取itemresponse id,您必须转到表单(编辑)以获取预填充的Url。填写并提交表格后,会显示带有itemresponse id的网址。如上面提到的表格2。 在我看来,与项目ID一样,在填写表单的所有答案以获取预填充的Url之前,已经知道那些itemresponse id。

我的问题是如何以编程方式获得那些itemresponse id?

1 个答案:

答案 0 :(得分:0)

问题解决了。获取预填充网址不需要响应ID号。

OnformSubmit (e) {
......
var formResponse = form2.createResponse();
// Prefill first name
var formItem = itemsform2[0].asTextItem();
var response = formItem.createResponse(sourcedata[i-1][2]);
formResponse.withItemResponse(response);  
// Prefill insertion
var formItem = itemsform2[1].asTextItem();
var response = formItem.createResponse(sourcedata[i-1][3]);
formResponse.withItemResponse(response);
// Prefill family name
var formItem = itemsform2[2].asTextItem();
var response = formItem.createResponse(sourcedata[i-1][4]);
var url = formResponse.toPrefilledUrl();
......
}

我是表单1的响应表中的行,sourcedata是该行中的答案,formitem是表单2中的相应项。 它非常好。