【问题标题】:How to detect which button was used to submit the form?如何检测哪个按钮用于提交表单?
【发布时间】:2021-01-27 13:27:03
【问题描述】:

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

【问题讨论】:

    标签: forms cakephp submit-button cakephp-4.x


    【解决方案1】:

    该值不是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
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-15
      • 2012-10-02
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 2014-07-15
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多