我在弹出窗口提交表单后进行了网格重新加载,但是现在我已经改变了一些东西,并且由于某种原因它停止了工作并且无法找出原因......
编辑:见下面的评论......
基本上,'详细信息'页面曾经不是这个页面的子页面,而是一个单独的.php文件,我更喜欢子页面方法,但我必须搞砸了过渡中的某个地方...... 我已经编辑了一些只会让你更难阅读的东西。
有人看到我错过的或我出错的地方吗?
class page_liststuff extends Page {
function initMainPage(){
// parent::init();
$grid = $this->add('Grid');
$this->js('reload_grid',$grid->js()->reload());
$grid->addColumn('button','edit');
$grid->addButton('Refresh')->js('click', $grid->js()->reload());
if($_GET['edit']){
$this->js()->univ()->frameURL('Edit',$this->api->url('details'))->execute();
}
}
function defaultTemplate(){
return array('page/detail');
}
function page_details(){
$m = $this->setModel('Stuff');
$f1 = $stap1->add('Form');
$f1->addSubmit('Save');
if ($f1->isSubmitted()){
try {
$f1->update();
$f1->js()->univ()
->successMessage('Success!')
//->closeDialog()
->getjQuery()->trigger('reload_grid')
->execute();
} catch(Exeception $e) {
$f1->js()->univ()->alert('Fail!')->execute();
}
}
}
}
答案 0 :(得分:1)
您可以使用任何jQuery UI Dialog小部件选项,如下所示:
$options = array(
'closeOnEscape' => false, // http://api.jqueryui.com/dialog/#option-closeOnEscape
'dialogClass' => 'no-close',
);
$this->js()->univ()
->frameURL('Edit', $this->api->url('./details'), $options, $callback)
->execute();
只是为了隐藏关闭按钮,使用CSS更容易,如下所述: “{隐藏关闭按钮”一段中的http://api.jqueryui.com/dialog/#entry-longdesc。
在某些情况下,您可能希望隐藏关闭按钮,例如,如果按钮窗格中有关闭按钮。实现这一目标的最佳方法是通过CSS。例如,您可以定义一个简单的规则,例如:
.no-close .ui-dialog-titlebar-close {
display: none;
}
然后,您可以简单地将no-close类添加到任何对话框中,以隐藏其关闭按钮:
$( "#dialog" ).dialog({
dialogClass: "no-close",
buttons: [{
text: "OK",
click: function() {
$( this ).dialog( "close" );
}
}]
});