4

我有一个由 4 个子表单组成的 zend 表单。这些子表单中的 1 个有 4 个元素,其中一个元素是 zend_form_element_checkbox。我有 4 个不同的显示组(每个子表单 1 个) - 一个是:“帐单地址”,一个是“信用卡信息”、“通知”和“杂项”

假设“通知”是具有复选框元素的部分,如果我不使用除以下内容之外的任何装饰器,并且不使用任何显示组,则一切都按预期显示,即:

通知我 [] <----- 是复选框

这些是用于表单中 dd 和 dt 标记的 css im

dt{
    display: block;
    margin: 0;
    padding: 0 0 10px 10px;
    width: 220px;
    text-align: left;
}

dd{
   display: inherit;
   margin: 0;
   padding: 0 0 10px 10px;
   width: 200px;
   float: left;
}

现在,当我将子表单显示为显示组时,我正在使用它:

$notificationsGroup->setDecorators(array(
     'FormElements',
      'FieldSet',
      array('HtmlTag',
             array('tag'=>'div',
                   'style'=>'width:90%;padding-left:45px;padding-bottom:25px;'))
                    ));

最终结果是,除了实际的复选框外,所有元素都在显示组中(例如 - 只有框 - 复选框的标签在显示组中)

我尝试过使用其他标签,但似乎没有任何效果。它与“div”标签有关吗?我还缺少什么?欣赏所有的想法和回应。

4

1 回答 1

0

您可以尝试在代码中使用类名而不是内联样式声明。

$notificationsGroup->setDecorators(array(
     'FormElements',
      'FieldSet',
      array('HtmlTag',
             array('tag'=>'div',
                   'style'=>'cssclassname'))
                    ));
于 2011-10-04T16:01:23.650 回答