微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测使用哪个按钮提交表单?

如何解决如何检测使用哪个按钮提交表单?

我似乎无法检测到 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
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。