Google apps script 防止双击google应用程序脚本
当我制作时,双击提交的表单两次。它会创建重复的行。如何防止双击 谢谢大家!Google apps script 防止双击google应用程序脚本,google-apps-script,google-sheets,spreadsheet,Google Apps Script,Google Sheets,Spreadsheet,当我制作时,双击提交的表单两次。它会创建重复的行。如何防止双击 谢谢大家! function doGet(e) { //Logger.log( Utilities.jsonStringify(e) ); if (!e.parameter.page) { // When no specific page requested, return "home page" return HtmlService.createTemplateFromFile('employee').ev
function doGet(e) {
//Logger.log( Utilities.jsonStringify(e) );
if (!e.parameter.page) {
// When no specific page requested, return "home page"
return HtmlService.createTemplateFromFile('employee').evaluate()
.setTitle('care backup').setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
// else, use page parameter to pick an html file from the script
return HtmlService.createTemplateFromFile(e.parameter['page']).evaluate()
.setTitle('care').setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
我没有测试过这个,但只是一个选项-也设置了一个基于时间的触发器,以便每隔一段时间运行函数重置
var-recentSubmit=0;
函数doGet(e){
//Logger.log(Utilities.jsonStringify(e));
如果(recentSubmit=0){
如果(!e.parameter.page){
var-recentSubmit=1;
//当没有请求特定页面时,返回“主页”
返回HtmlService.createTemplateFromFile('employee').evaluate()
.setTitle('care backup').setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
//否则,使用页面参数从脚本中选择html文件
返回HtmlService.createTemplateFromFile(e.parameter['page'])。evaluate()
.setTitle('care').setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
Logger.log(“最近提交了一个表单,稍后再试…”);
}
函数重置(){
var-recentSubmit=0;
}
您可以尝试使用。它可以禁用提交按钮。它已被弃用,但目前仍然有效
完整的代码实现示例可在以下内容中找到:
单击后,按钮变灰
我不希望按钮被禁用。我只是不想双击,我如何在HtmlService.createTemplateFromFile上支持这一点?
function onOpen() {
var app = UiApp.createApplication();
app.setTitle('My Title');
app.setHeight(150);
app.setWidth(300);
var form = app.createFormPanel();
var flow = app.createFlowPanel();
flow.add(app.createHidden("action", 'action'));
flow.add(app.createLabel('My Label'));
//Submit
var submit = app.createButton('Run', app.createServerHandler('notif').addCallbackElement(form)).setId('run');
var cliHandler = app.createClientHandler().setEnabled().setEnabled(false);
submit.addClickHandler(cliHandler);
flow.add(submit);
form.add(flow);
app.add(form);
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.show(app);
};
function notif(){
//DO NOTHING. JUST SHOW THE button is DISABLED.
}