atk4 dialogURL кнопка закрытия - PullRequest
2 голосов
/ 01 декабря 2011

Я использую atk dialogURL с кнопкой false, у меня есть несколько полей и добавлены мои кнопки:

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

после нажатия кнопки «Сохранить» мое диалоговое окно не закрывается (я не хочу его), затем я нажимаю на свое диалоговое окно кнопки закрытия, но появляется:

"'Изменения в форме будут потеряны. Продолжить?'"

почему? мои данные правильно сохранены в базе данных. Кажется, что .form_changed не обновляется

1 Ответ

1 голос
/ 02 декабря 2011

внутри 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();
...