繁体   English   中英

Google表格脚本边栏按钮未激活功能

[英]Google Sheets Script Sidebar button not activating function

我已经花了数小时试图解决这个问题,因为我觉得在问一个问题之前我应该​​这样做。 搜索,看了看答案,尝试了一些东西。 我认为我可以通过这种方式学习并扩展自己的技能/知识。

无论如何,我试图开始使用边栏来使我的表格脚本应用更好地工作,并进行小批量测试。 我希望“清除旧按钮”(此时)仅打开一个警报框,其中包含日期,并由datePicker生成的文本框提供。

这是HTML:

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jQuery UI Datepicker - Default functionality</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script> $( function() { $( "#datepicker" ).datepicker(); } ); </script> <base target="_top"> </head> <body> <p><strong>Clear Old Entries</strong></p> <p>Clear Entries before</p> <p><input type="text" id="datepicker"></p> <p><input type="submit" value="Clear Old" onClick="google.script.run.ClearOld(document.getElementById(datepicker).value)" /></p> <p><input type="button" value="Close Sidebar" onClick="google.script.host.close()" /></p> </body> </html> 

以下是脚本代码,该脚本代码获取菜单项和侧栏以及我尝试用作短期测试的功能:

 function onInstall(e) { onOpen(e); } function onOpen(e) { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Bulletinator') .addItem('Create Bulletin', 'bulletinatorSidebar') .addItem('Clear Old', 'clearOldSideBar') .addToUi(); } function bulletinatorSidebar() { var html = HtmlService.createHtmlOutputFromFile('BullV2Side') .setTitle('Bulletinator') .setWidth(300); SpreadsheetApp.getUi().showSidebar(html); } function clearOldSideBar() { var html = HtmlService.createHtmlOutputFromFile('ClearOldSide') .setTitle('Clear Old Entries') .setWidth(300); SpreadsheetApp.getUi().showSidebar(html); } var today; var todayDay; var todayDate; var ui = SpreadsheetApp.getUi(); var sh = SpreadsheetApp.getActiveSheet(); var rg = sh.getDataRange(); var vA = rg.getValues(); var rowsFound = 0; var rowsDeleted = 0; function ClearOld(value) { var clearDate=value; var testThis = ui.alert( 'Clear entries prior to', clearDate, ui.ButtonSet.YES_NO); 

当我单击侧边栏中的按钮时,没有任何响应,并且执行记录中也没有任何显示。

附带一提,我也很努力地在边栏中有两个datePickers。 只有一个工作。 这就是为什么此设置有两个单独的侧边栏被调用的原因。

谢谢你的帮助。

似乎没有定义datepicker变量。 您必须使用下一个代码

onClick="google.script.run.ClearOld(document.getElementById('datepicker').value)"

要么

onClick="google.script.run.ClearOld($('#datepicker').val())"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM