在开始使用我的电子表格之前我需要请求信息,这是一个日期范围,如果您不输入日期范围,则必须关闭电子表格。
谢谢你的帮助。
您可以实现一个onOpen()
触发对话框打开的函数,只要用户没有输入您想要的日期范围,对话框就会保持打开状态。如果没有输入任何值,我认为您不能强制关闭电子表格。
您可以使用 UiApp 在 UI 中执行此操作,只有在验证条件时才会显示指向电子表格的链接,否则它将拒绝请求。
编辑:这是一个让你开始的例子:
(必须定义条件,我评论了必须由您完成的部分......
function doGet() {
var app = UiApp.createApplication().setStyleAttribute('padding', '15').setStyleAttribute('background', 'beige').setWidth('300').setHeight('140');// adjust dimensions to your needs
var mygrid = app.createGrid(3, 2);
mygrid.setWidget(0, 0, app.createLabel('StartDate:'));
mygrid.setWidget(0, 1, app.createDateBox().setId('dateA'));
mygrid.setWidget(1, 0, app.createLabel('EndDtate:'));
mygrid.setWidget(1, 1, app.createDateBox().setId('dateB'));
var mybutton = app.createButton('OK');
mybutton.setId("mybutton");
var mypanel = app.createVerticalPanel();
mypanel.setId('mypanel');
mypanel.add(mygrid);
var label = app.createHTML('<BR>Your request has been approved, <BR><BR>thanks for submitting').setId('Label').setStyleAttribute('padding', '15').setVisible(false).setWidth('300').setHeight('120');// adjust dimensions to your needs
var anchor = app.createAnchor('Open the Spreadsheet', 'https://docs.google.com/spreadsheet/ccc?key=0AnqSFd3iikE3dDljeXhtY3lacUtxdllQbGNHREY0VUE#gid=0').setId('anchor').setVisible(false)
mypanel.add(label).add(anchor)
mypanel.add(mybutton);
app.add(mypanel).add(label);
var handler = app.createServerHandler('checkDates');
handler.addCallbackElement(mypanel);
mybutton.addClickHandler(handler);
var Chandler = app.createClientHandler();
Chandler.forTargets(mygrid,mybutton).setVisible(false)
mybutton.addClickHandler(Chandler)
return app;
}
function checkDates(e) {
var app = UiApp.getActiveApplication();
var Label = app.getElementById('Label');
var anchor = app.getElementById('anchor');
Label.setVisible(true);// show the masking label with message
var dateA = e.parameter.dateA;
var dateB = e.parameter.dateB;
// write your condition...
// if(dateA)...&& dateB== ...
anchor.setVisible(true);
return app
// }else{
app.close
//return app}
}