2

我正在使用带有 false 按钮​​的 atk dialogURL,我有一些字段并添加了我的按钮:

$f2->addSubmit();
$f2->addButton('Close')->js('click',$f2->js()->univ()->closeDialog());
if($f->isSubmitted()){
        $f->update();
}

按下“保存”按钮后,我的对话框没有关闭(我不想要它)然后我点击我的关闭按钮对话框,但出现:

“'表格上的更改将丢失。继续吗?'”

为什么?我的数据正确保存在数据库中。似乎 .form_changed 没有更新

4

1 回答 1

1

在 isSubmitted 里面,需要显式关闭对话框:

if($f->isSubmitted()){
    $f->update();
    $f->js()->univ()->closeDialog()->execute();
}

默认情况下,在对话框被销毁之前,它会检查是否已更改。它是通过向表单标签添加一个类(form_changed)来实现的。你几乎没有其他选择。例如,您可以完全删除表单:

if($f->isSubmitted()){
    $f->update();
    $f->js()->remove()->execute()
}

或者:

$this->addButton('Close')->js('click',
    $form->js()->find('form')->removeClass('form_changed')
)->univ()->closeDialog();
于 2011-12-01T20:13:38.377 回答