我使用以下方法在表单中添加了一个复选框:
$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->post
是页面中的Mage::app()->getRequest()->getPost()
。 $value
包含复选框的ID(所有数据都是动态的,因此我发布了代码段)。
我遇到的问题是,即使我没有勾选它们,也会始终记录复选框值。我一直以为复选框都没有发布,除非他们被勾选。我失去它还是Magento做了一些奇怪的事情?
答案 0 :(得分:1)
首先检查您的浏览器:什么数据被POST?浏览器调试器的网络选项卡(例如Firebug for Firefox)会告诉您。那里的复选框数据是什么?
其次,检查HTML:是否多次定义了复选框名称?这可能是他们出现在您的POST数据中的原因。