表单提交后 CakePHP 3 刷新页面

CakePHP 3 refresh page after form submit

我使用 cakePHP 创建了一个网站 3.I 使用表单助手和邮件发件人在联系部分创建了一个邮件表单。邮件工作正常,但当我单击发送(提交)按钮时,它会重新加载联系页面并保持输入字段已填满。

我想要的是不刷新页面,清除表单字段并显示模式。这可能吗? ¿我该怎么做?

不知道大家有没有需要代码,如果需要的话我会提供的。

谢谢。

如果您想在提交表单后清除字段,您可以采用两种方式:

可见:

<?= $this->Form->input('email',['value' => '']); ?>

或在调用执行方法后的控制器方法中取消设置您提交的数据,如下所示:

$contact = new ContactForm();
if ($contact->execute($this->request->data)) {
   $this->request->data = [];

}

如果发送成功,可以设置success flash message或其他变量,然后在view中显示flash message或modal

$this->Flash->success(__('The Message has been sent.'));
// or
$this->set('modal', true);

在您看来

<?php if(isset($modal) && $modal == true): ?>
   YOUR MODAL HERE
<?php endif; ?>