表单提交后 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; ?>
我使用 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; ?>