CAKEPHP 3.1 提交后清除表单
CAKEPHP 3.1 clear form after submit
通常在 cakephp2 上我曾经取消设置表单数据,一切正常。
有时我使用重定向来清除它。但我不能在当前页面中这样做。
有人发现这个问题或解决方案吗?
如果您在成功添加记录后停留在 "add" 页面上,例如为了更快地输入多条记录,您需要在保存后重置实体。例如,如果您要输入帖子,您的控制器将类似于:
$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'));
(为简洁起见,错误检查、即时消息等都被省略了。)
另一种方法是简单地重定向到同一页面。
我遇到的问题是并非所有内容都被删除
$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
}
}
通常在 cakephp2 上我曾经取消设置表单数据,一切正常。
有时我使用重定向来清除它。但我不能在当前页面中这样做。
有人发现这个问题或解决方案吗?
如果您在成功添加记录后停留在 "add" 页面上,例如为了更快地输入多条记录,您需要在保存后重置实体。例如,如果您要输入帖子,您的控制器将类似于:
$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'));
(为简洁起见,错误检查、即时消息等都被省略了。)
另一种方法是简单地重定向到同一页面。 我遇到的问题是并非所有内容都被删除
$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
}
}