0

我正在使用以下方法向我的表单添加一个复选框:

$fieldset->addField($value, 'checkbox', array(
                    'label'     => $label,
                    'name'      => $value,
                    'checked' => false,
                    'onclick' => "",
                    'onchange' => "",
                    'value'  => $value,
                    'disabled' => false,
                    'tabindex' => 1
                ));

然后在我的控制器中我正在做:

if (isset($this->post[$value]))
                {
                    $webCategory = $this->post[$value];
                    if ($webCategory != '') {
                        Mage::log("Syncing: " . $webCategory);
                    }
                }

$this->postMage::app()->getRequest()->getPost()从页面。$value包含复选框的 id(所有数据都是动态的,所以我发布了片段)。

我遇到的问题是,即使我没有勾选复选框值,它们也总是被记录下来。我一直认为除非勾选复选框,否则不会发布复选框。我是在丢失它还是 Magento 做了什么奇怪的事情?

4

1 回答 1

1

首先检查您的浏览器:发布了哪些数据?浏览器调试器的网络选项卡(例如 Firefox 的 Firebug)会告诉您。那里有复选框数据吗?

其次,检查 HTML:复选框名称是否定义了多次?这可能是它们出现在您的 POST 数据中的原因。

于 2013-02-07T09:37:02.467 回答