我在寻找简单的代码,增加了谷歌应用脚本UI一个弹出窗口出现时,我打一个提交按钮。 弹出框会显示一条消息,并有一个按钮来关闭弹出。
我看了所有的地方 - 一切都显得那么复杂,的确方式比我更需要它做的事。
这是当前代码我对提交按钮。
function doGet() {
var app = UiApp.createApplication();
app.setTitle("My Logbook");
var hPanel_01 = app.createHorizontalPanel();
var vPanel_01 = app.createVerticalPanel();
var vPanel_02 = app.createVerticalPanel();
var vPanel_03 = app.createVerticalPanel();
var submitButton = app.createButton("Submit");
//Create click handler
var clickHandler = app.createServerHandler("submitData");
submitButton.addClickHandler(clickHandler);
clickHandler.addCallbackElement(hPanel_01);
////Test PopUp Panel
var app = UiApp.getActiveApplication();
var app = UiApp.createApplication;
var dialog = app.createDialogBox();
var closeHandler = app.createClientHandler().forTargets(dialog).setVisible(false);
submitButton.addClickHandler(closeHandler);
var button= app.createButton('Close').addClickHandler(closeHandler);
dialog.add(button);
app.add(dialog);
//////
return app;
}
您可以选择使用zIndex的尝试? 它把上面所有的其他小组的小组...
var popupPanel = app.createVerticalPanel().setId('popupPanel')
.setVisible(false)
.setStyleAttribute('left', x)
.setStyleAttribute('top', y)
.setStyleAttribute('zIndex', '1')
.setStyleAttribute('position', 'fixed');
从你的应用Y =面板位置的从您的应用zIndex的顶部部分中的左部X =面板位置=的“层”您的面板上会出现。 可以叠加使用“1”的面板,“2”,“3”等位置=你的面板将在由表示的固定位置(x,y)的
直到你点击提交,然后为您的提交按钮使popupPanel可见的客户端处理程序可见性设置为false。 当你点击你的popupPanel按钮,让客户端处理程序设定能见度为false再次,它会消失。
还有一两件事,我注意到你的主动应用,然后创建一个新的应用程序。 你并不需要创建一个新的应用...您的应用程序里面只是新面板。
希望这可以帮助!
您可以使用一个对话框弹出。 将按钮添加到对话框框。 添加一个设置对话框中不可见的,一旦你点击该按钮的客户端处理程序 。
var app = UiApp.createApplication;
var dialog = app.createDialogBox();
var closeHandler = app.createClientHandler().forTargets(dialog).setVisible(false);
var button= app.createButton('Close').addClickHandler(closeHandler);
dialog.add(button);
app.add(dialog);
这应该帮助。
编辑
新增 “()” 后.createClientHandler。 这应该删除相关类型错误的问题:找不到功能createDialogBox在目标函数createApplication(){/ * * /}
由于了UiApp折旧, HTMLService应该用于创建自定义的用户界面。
要提示简单弹出显示消息,使用alert
的方法UI类
var ui = DocumentApp.getUi();
ui.alert('Hello world');
将提示与世界你好和ok键简单弹出。
在对话显示定制HTML模板,使用HTMLService来创建模板,然后将其传递到showModalDialog
UI类的方法
var html = HtmlService.createHtmlOutput("<div>Hello world</div>").setSandboxMode(HtmlService.SandboxMode.IFRAME);
DocumentApp.getUi().showModalDialog(html, "My Dialog");
HtmlService.createHtmlOutputFromFile
允许您显示HTML是在一个单独的文件。 看到文档
弹出窗口 - 使用这样的:
var table = app.createFlexTable();
table.setStyleAttribute("position", "absolute");
table.setStyleAttribute("background", "white");
添加项目表和隐藏和显示需要。