如何解决如何创建“ New xxx”弹出窗口?
| 我有一个Grid对象,并添加了[(+)New Client]按钮,我想打开一个弹出表单来创建带有几个字段的新客户端。 我已经看过网站上的代码示例,但是还没有找到方法(抱歉,如果我错过了什么)。 这是当前的页面代码:function page_clients_listing($p){
$g = $p->add(\'Grid\');
$g->addColumn(\'text\',\'first_name\');
$g->addColumn(\'text\',\'last_name\');
$g->addColumn(\'inline\',\'telephone\');
$g->addColumn(\'expander\',\'comments\');
$g->setSource(\'client\');
$g->addButton(\'With Icon\')->set(\'Add New Client\')->setIcon(\'Plus\');
}
提前致谢!解决方法
您可以创建一个弹出窗口或一个对话框。对话框基于jQuery UI对话框实现。弹出窗口可能会被阻止,并且难以控制。
这实际上适用于任何对象(您可以将其应用于视图,按钮,图像,图标等),但我将使用按钮。
$b=$g->addButton(\'Add New Client\')->setIcon(\'Plus\');
$b->js(\'click\')->univ()->frameURL($title,$url);
// OR
$b->js(\'click\')->univ()->dialogURL($title,$url);
$ url很可能由api-> getDestinationURL()返回。另一个页面将被加载,并且该页面上的脚本将被评估。假设您在其他页面上,现在需要关闭窗口。
$result = $this->addButton(\'Close\')->js(\'click\')->univ()->closeDialog();
closeDialog()返回一个jQuery链对象,该对象指向最初打开框架的视图。结果,如果执行$ result-> hide();然后关闭对话框后,原始按钮(\'添加新客户端\')也将被隐藏。
以下示例显示了您可以对框架,重新加载和自定义事件处理程序执行的其他一些操作:
http://agiletoolkit.org/example/refresh1版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。