将装饰器设置为 Zend_Form_Element_Checkbox

发布于 2024-08-19 07:32:15 字数 946 浏览 8 评论 0原文

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

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

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

这些是我用于 dd 和 dt 标记的 css现在

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”标签有关吗?我还缺少什么吗? 感谢所有的想法和回应。

I have a zend form comprised of 4 subforms.
1 of these subforms has 4 elements, and one of those elements is a zend_form_element_checkbox.
I have 4 different display groups (1 for each subform) - one is : 'billing address', one is 'credit card info' , 'notifications' and 'misc'

Assuming that 'notifications' is the part that has the checkbox element, if i dont use any decorators except the following, and dont use any display groups, everything displays as expected i.e.:

Notify me [] <------ is the checkbox

These are the css im using for the dd and dt tags in the form

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;
}

Now, when i'm displaying the sub-form as a display group, i'm using this:

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

The end result is, all the elements come within the display group except for the actual check box (like - only the box - the label for the check box comes within the display group)

I have tried using other tags, and nothing seems to be working.
Is it something to do with the 'div' tag ? Something else I'm missing?
Appreciate all thoughts and responses.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2024-08-26 07:32:15

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

$notificationsGroup->setDecorators(array(
     'FormElements',
      'FieldSet',
      array('HtmlTag',
             array('tag'=>'div',
                   'style'=>'cssclassname'))
                    ));

You could try using a class name instead of the inline style declaration in your code.

$notificationsGroup->setDecorators(array(
     'FormElements',
      'FieldSet',
      array('HtmlTag',
             array('tag'=>'div',
                   'style'=>'cssclassname'))
                    ));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文