在选择下拉列表时,检索数据为空,除了谷歌网络应用程序中的第一个项目选择之外[重复]

2024-01-12

我正在开发谷歌网络应用程序。我想根据下拉选择检索数据。我只能在从下拉列表中选择第一个项目时完美检索数据,其余的我收到空数组。我已经通过手动调用检查服务器端代码,其工作正常并完美地发送回数据。问题出在客户端代码中,但我不知道这种行为。如果有人提供帮助,我将不胜感激。先感谢您。

这是表格链接https://docs.google.com/spreadsheets/d/1yrQjp0_lU3iONW0FK3yCwm79CzD9KUW3Yg92Al5yoAo/edit?usp=sharing https://docs.google.com/spreadsheets/d/1yrQjp0_lU3iONW0FK3yCwm79CzD9KUW3Yg92Al5yoAo/edit?usp=sharing

链接到网络应用程序https://script.google.com/macros/s/AKfycbyJdifqDE4NG3dhIsQDQT3f9xKYYfPBL4QXz3p6SZzz3_avdf3b/exec?v=updateevent https://script.google.com/macros/s/AKfycbyJdifqDE4NG3dhIsQDQT3f9xKYYfPBL4QXz3p6SZzz3_avdf3b/exec?v=updateevent

这是下拉菜单

选择第一个索引项并在警报消息中获取数组

选择第二项并得到空数组

当我将文本手动传递到下面的服务器端函数以获取第二个和第三个项目时,我得到匹配的行并检索数组中的响应,但使用客户端我得到空数组作为响应。

这是我的服务器端代码:

function GetSelection(title) {
    var ss = SpreadsheetApp.openById("Sheet_ID");
    var sheet = ss.getSheetByName("Event_Info"); 
    var Avals = sheet.getRange("A1:A").getValues();
    var Alast = Avals.filter(String).length;   
    var list  = sheet.getRange("A2:T" + Number(Alast)).getValues();
    Logger.log(list); 
    var values = []; 
    values.pop(); 

    for (var i=0; i < list.length; i++) {
      if (list[i][0].toString().trim().toLowerCase() === title.toString().trim().toLowerCase()) {
          values.push([list[i][0], list[i][1], list[i][2], list[i][3], list[i][4]]); 
          return values;
       }
    }
}

这是我的客户端代码:

    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
          <?!= include("CREATEEVENT-CS") ?>
      </head>
      <body onload="addList()">
                <div class="row">
                   <div class="col-25">
                        <label> Event Type </label>
                   </div>
                   <div class="col-75">                   
                        <select id="selectNumber" onchange="jsFunction(this.value)">
                            <option>Choose a number</option>
                        </select>
                   </div>
             </div>

           <?!= include("UPDATEEVENT-JS") ?>
  </body>
</html>

这是数据检索脚本:

        function jsFunction(value)
        {           
            alert(value);
            google.script.run.withSuccessHandler(getpopuled).GetSelection(value); 
        }

  function getpopuled(dataarray) {
     alert(dataarray);
  }

我的问题解决了。我更改了服务器端代码,因为日期是传递给客户端的受限数据类型,并且将返回 null。 所以我将日期转换为数据类型字符串。

function GetSelection(title){
    console.log(title); 
    var ss = SpreadsheetApp.openById("Sheet_ID");
    var sheet = ss.getSheetByName("SheetName"); 
    var Avals = sheet.getRange("A1:A").getValues();
    var Alast = Avals.filter(String).length;   
    var list  = sheet.getRange("A2:T" + Number(Alast)).getValues();
    Logger.log(list); 
    var values = []; 
    values.pop(); 
    for (var i=0; i < list.length; i++){
        if( list[i][0].toString().trim().toLowerCase() === title.toString().trim().toLowerCase() ){
            values.push([ list[i][0], list[i][1], list[i][2], list[i][3],  list[i][4].toString(), list[i][5].toString(),  list[i][6], list[i][7], list[i][8], list[i][9], list[i][10], list[i][11], list[i][12], list[i][13], list[i][14], list[i][15], list[i][16], list[i][17], list[i][18], list[i][19]]); 
       return values;
       }
    }
} 

在客户端,我使用以下方法从数据库初始化日期控制,我的问题得到了解决。谢谢

大师

以表彰他对解释该问题的贡献。

 document.getElementById("eedate").value = new Date(dataarray[0][5]).toISOString().substr(0, 10);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在选择下拉列表时,检索数据为空,除了谷歌网络应用程序中的第一个项目选择之外[重复] 的相关文章

  • 使用 Spring Tool Suite 部署 Spring Web 应用程序

    我是 Java Web 框架的新手 我在 google 上搜索发现 spring 是最流行的框架之一 我尝试安装工具并搜索了在我的Mac上运行spring框架的教程 第 1 步 Tomcat 安装 下列的这个网站 http neilang
  • 通过脚本删除工作表

    我正在执行此代码 function deleteSheets var ss SpreadsheetApp getActiveSpreadsheet var sheets ss getSheets var transp ss getSheet
  • JDBC set_approle

    我正在尝试使用prepareCall 通过 JDBC 连接设置应用程序角色 它似乎工作正常 即语法方面 但 SQL Server 2008 返回此错误 Application roles can only be activated at t
  • 如何仅在数据库、模式和表尚不存在时自动创建它们

    我想创建一个简单的网络应用程序 允许远程客户端跟踪发布请求中的某些内容 将所有跟踪保存在轻量级数据库中 返回 get 请求的所有跟踪 关于数据库 我想 将其位置放在我的 web 应用程序的属性文件中 并将此位置用于 persistence
  • Google Apps 脚本:如何水平对齐 inlineImage

    我有以下代码 它是一个更大程序的一部分 我正在尝试将图像从我的 Google 驱动器插入到 Google 文档中 并调整其大小并居中 到目前为止 我能够让程序插入图像并调整其大小 但我不知道如何使 inlineImage 居中 我是使用谷歌
  • 类型错误:ss.getSheetByName 不是函数

    我的代码旨在从用户输入表单中获取数据并将新行插入到电子表格中 function addNewRow rowData const currentDate new Date const ss SpreadsheetApp getActiveSh
  • 构建可通过键盘访问的 Web 应用程序

    您如何构建一个完整的键盘可访问的 Web 应用程序 假设这是一个受控部署环境 在组织内使用 其中访问受到限制 不向公众开放 更新 忘记提及 这是为了提高数据输入效率 与残疾无关 更新 2 在整个应用程序中使用 Flash 有意义吗 考虑到环
  • 如何从 Google 电子表格中删除项目?

    我通过在脚本编辑器上选择 文件 gt 制作副本 错误地制作了 Google Apps 脚本项目的副本 从那时起 每次我在该项目所属的电子表格屏幕上单击 工具 gt 脚本编辑器 时 我看到显示两个项目 原始项目和复制项目 的屏幕 我需要选择一
  • Eclipse:更改 Maven pom.xml 文件中的 webapp 文件夹

    是否可以在 pom xml 中为 webapp 文件夹定义一个与标准位置 src main webapp 不同的位置 我知道你可以定义你的网络文件夹
  • Google App脚本:无法保留前导零,因为它被自动删除

    我是谷歌脚本的新手 我有一个像下面这样的场景 我有 Sheet1 其中包含 A 列和 B 列 通常我尝试将十进制值存储到其中 我的意思是A列中的整数部分和B列中的小数部分 例如 场景一 如果值为 23 75 则 Column A 应为 23
  • 自动从外部数据库加载 Google 电子表格数据

    我有一个共享的 Google 电子表格 工作表的某些列必须填充数据库服务器 PostgreSQL 中存在的数据 SQL 查询 此外 数据加载必须安排为自动完成 例如每天 1 点 最后 我需要在电子表格中进行一些调整 例如 加载后将日期时间放
  • 如何在登录名控件中显示用户名

    我有一个母版页 其中包含基于母版页的所有后续页面上显示的登录视图内容 我有一个用户名控件也嵌套在登录视图中 用于在用户登录时显示用户名 母版页中登录视图的代码显示如下 div class loginView div
  • war 文件大小是否会以某种方式影响应用程序和/或应用程序服务器的性能?

    我们一直在工作中遇到困难 有人建议我们应该减小 war 文件的大小 特别是 WEB INF lib 目录的大小 以提高生产 JBoss 实例的性能 有件事我至今仍心存疑虑 我们的应用程序服务器中部署了大约 15 个 Web 应用程序 每个应
  • 通过 Google Apps 脚本发送电子邮件时出现问题

    我有时已经成功地通过 Google Apps 脚本发送电子邮件 但是 当我打开一个新的 Google Workspace 帐户并使用相同的代码将相同的内容发送到同一个接收者时 新帐户不起作用 我收到一条 消息已被阻止 的消息 电子邮件受保护
  • 将 html 转换为 pdf 时防止表格单元格跨页破坏

    使用 Google Apps 脚本 我有一个 html 模板 我填写该模板 然后以 pdf 形式发送 通过传真和 或电子邮件 该模板包括一个带有问题 答案的两列表格 如果行数足够多 表格会在pdf中跨页分页 并且分页符通常发生在单元格的中间
  • 多个客户端如何同时连接到服务器上的一个端口(例如 80)? [复制]

    这个问题在这里已经有答案了 我了解端口工作原理的基础知识 但是 我不明白的是多个客户端如何同时连接到端口 80 我知道每个客户端都有一个唯一的 对于他们的机器 端口 服务器是否从可用端口回复客户端 并简单地声明回复来自 80 这是如何运作的
  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 使用 Google 脚本移动 Google Drive 中的文件

    我正在尝试使用通过 Google 表单发布的信息创建文档 然后在创建文档后 我想将该文档移至共享文件夹中以供人们查看 目前 我的脚本从 Google Forms 链接的电子表格中获取所有信息 使用该信息 我使用以下代码来创建文档 var t
  • 将 JSON 数据导入 Google 表格

    我从 Web 服务中提取数据 其格式为 JSON 我正在为 Google Sheets 编写一个 Google Apps 脚本 它将为我填充数据 我的问题是 我似乎无法解析它 Doing var dataset myJSONtext Bro
  • 启动时运行“浏览器外”Web 应用程序?

    我已经熟悉了 浏览器外 Web 应用程序的新概念 最近的 Silverlight JavaFX Adobe AIR 等都支持该应用程序 最近在听一个podcast http www hanselman com blog Hanselminu

随机推荐