CAKEPHP 3.1 очистить форму после отправки

Обычно на cakephp2 я использовал для сброса данных формы, и все было хорошо.

Иногда я использую перенаправления, чтобы очистить его. Но я не могу сделать это на этой странице.

Кто-нибудь нашел эту проблему или решение для этого?

0

Решение

Если вы остаетесь на странице «Добавить» после успешного добавления записи, например, для более быстрого ввода нескольких записей, вам потребуется сбросить сущность после сохранения. Например, если вы вводите сообщения, ваш контроллер будет выглядеть примерно так:

$post = $this->Posts->newEntity();
if ($this->request->is('post')) {
$post = $this->Posts->patchEntity($post, $this->request->data);
if ($this->Posts->save($post)) {
$post = $this->Posts->newEntity(); // <- Reset the entity
}
}
$this->set(compact('post'));

(Проверка ошибок, флеш-сообщения и т. Д. Для краткости опущены.)

1

Другие решения

Альтернатива — просто перенаправить на ту же страницу.
У меня была проблема, что не все было удалено

$contact = new ContactForm();
if ($this->request->is('post')) {
if ($contact->execute($this->request->data)) {
$this->Flash->success(__('Submited.'));
$this->request->data(null);
$contact = new ContactForm();
return $this->redirect('/(Same Page)');// This did the final trick for me
}
}
0