【问题标题】:Find id of element on already made google form?在已经制作的谷歌表单上查找元素的 ID?
【发布时间】:2014-03-03 14:57:43
【问题描述】:

我有一个在谷歌文档上制作的表单,我有一个我刚刚创建的脚本(不完整),它将分析表单上的响应,并根据来自不同谷歌文档的信息验证它们.通过反复试验,我已经找出了所述表单上所有元素的 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 引用它们。有没有办法在谷歌表单中做到这一点?这样我就不必只注销所有的 id 和标题并将它们匹配起来。

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

【问题讨论】:

    标签: google-apps-script google-forms


    【解决方案1】:

    这样的东西会显示记录器中的 id...

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

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

    【讨论】:

    • 这正是我已经做过的。 for (var i = 1; i &lt; its.length; i ++) { body = body + " " +its[i].getId() bodyTitle = bodyTitle + " " + its[i].getTitle() } 看到了吗?我遗漏的只是记录器声明。不过我不想这样做.. 有没有办法不这样做就可以看到 id?
    • 编辑了要查找的属性的答案。那样吗?
    • 是的那样..但不幸的是它不起作用:(我查看了源代码,但在源代码中根本找不到我日志中的任何 ID。
    • 但您确实在源代码中看到了 ID?您必须检查实际的表单,而不是表单编辑器。此外,我注意到自己记录 id (Logger.log(its[i].getId()) 返回的 id 格式与源中显示的格式不同。
    • 我确实复制并粘贴了您的代码并使用它,除了其中一个(这很奇怪)之外,我得到了与其他相同的 ID,但我正在查看实时表单和 ID 的源有完全不同的。如果我在编辑时查看 id,我现在才发现那些是我需要的。但我只能看到其中的一些……比如复选框,我可以看到 id,但不能看到文本框
    【解决方案2】:

    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=&lt;your-predefined-content&gt;

    【讨论】:

      【解决方案3】:

      Bryan P 的回答更新:

      要查找 ID:

      • 查看表格(就好像你在拿它一样)
      • 右键单击并检查问题名称
      • 寻找:
        • data-item-id="##########",或
        • aria- describeby="i.desc.########## i3"

      你想要##########。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-05
        • 2018-05-19
        • 2015-08-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多