问题描述
我似乎无法检测到 cakePHP4 中的按钮按下。在 cake3 中很容易。
在表格中我有:
echo $this->Form->button('View Data',[
'name' => 'viewdata','type' => 'submit','class' => 'btn btn-primary'
]);
在控制器中我有:
if ($this->request->is('post') ) {
....
debug($this->request->getDdata());
if (!empty($this->request->getData('viewdata'))) {
我单击该按钮并看到 'viewdata'=''
,因此它检测到该按钮已被单击,但它的值为 = null
?并且我无法调用 viewdata
的按钮按下功能。
https://book.cakephp.org/4/en/views/helpers/form.html#creating-buttons-and-submit-elements
解决方法
值不是null
,它是一个空字符串。因此,例如,您可以对该确切值进行严格检查,即:
if ($this->request->getData('viewdata') === '') {
// view data submit button was used
}
或者只是通过与 null
进行比较来检查密钥是否存在:
if ($this->request->getData('viewdata') !== null) {
// view data submit button was used
}