在已经制作的谷歌表单上找到元素的ID?

时间:2014-03-03 14:57:44

标签: google-apps-script google-form

我在google docs上有一个表单,我有一个我刚创建的脚本(不完整),它将分析表单上的响应,并根据来自不同google doc的信息验证它们。通过反复试验,我已经找到了所述表格中所有元素的id。我用过:

var body = ""
var bodyTitle = ""


for (var i = 1; i < its.length; i ++)
{
    body = body + "  " +its[i].getId()
    bodyTitle = bodyTitle + "   " + its[i].getTitle()
}

然后通过记录出来并且基本上只计算,第5个id匹配第5个标题,我拥有所有id。我只是想知道下一次,有没有办法我可以看一下表格并找到它的ID而不这样做?

使用HTML表单(我使用chrome fyi),你可以右击,检查元素,你可以看到页面元素的id,并在javascript中通过id引用它们。有没有办法在Google表单中执行此操作?这样我就不必为了记录掉所有的id和标题并将它们匹配起来。

请注意:这些是用户在Google表单中创建的所有表单,他们坚持制作它们。它们都不是代码编写的,所以我自己无法对id进行编码。

3 个答案:

答案 0 :(得分:15)

这样的东西会向你显示记录器中的ID ......

var form = FormApp.getActiveForm();
var items = form.getItems();
for (var i in items) { 
  Logger.log(items[i].getTitle() + ': ' + items[i].getId());
}

要在Chrome中手动查看ID&gt;&gt;查看表单&gt;&gt;右键点击问题标签&gt;&gt;检查元素&gt;&gt;查找for="entry_XXXXXXX"属性。 'xxxxxxx'将是id。

答案 1 :(得分:1)

2021 年更新:

手动查找 ID:

  1. 检查问题元素
  2. 查找 [data-params] 属性
  3. 第二个数字是正确的

示例:

data-params="%.@.[860146445,"Question",null,0,[[305915825,[],true,[],[],null,null,null,null,null,[null,[]]]],null,null,null,[]],"i1","i2","i3",false]"

305915825 - 这是您可以使用的字段 ID,例如 ?entry.305915825=<your-predefined-content>

答案 2 :(得分:0)

Bryan P答案的更新:

要查找ID:

  • 查看表单(好像您正在接受表单一样)
  • 右键单击并检查问题名称
  • 寻找其中一个:
    • data-item-id =“ ##########”,或
    • aria- describeby =“ i.desc。########## i3”

您需要##########。