【问题标题】:How can I append a description to a Zend_Form_Element?如何将描述附加到 Zend_Form_Element?
【发布时间】:2011-02-12 11:50:54
【问题描述】:

我有以下 Zend_Form_Element:

   $imginstructions = "Some description";

    $img = $this->createElement('select','img');
    $img->setAttrib('class', 'image-select');
    $imgdecorator = $img->getDecorator('Description');
    $imgdecorator->setOption('escape', false);

    $img->setLabel('Image:')
        ->setRequired(true)
        ->addMultiOptions($images)
        ->setValue('')
        ->setDescription($imginstructions)
        ->addErrorMessage('You must select an image');

    $img->size = 5;
    $this->addElement($img);

描述应该出现在选择框旁边。 问题是:当抛出错误时,呈现的 html 会发生变化,因此描述显示在选择框下方,而不是在它旁边。

在抛出错误之前渲染的 HTML:

 <dd id="img-element">
 <select size="5" class="image-select" id="img" name="img" style="display: none;">
   ...........options..............
 </select>
 <p class="description">Some Description</p></dd> 

抛出错误后呈现的 HTML:

 <dd id="img-element">
 <select size="5" class="image-select" id="img" name="img" style="display: none;">
   ...........options..............
 </select>
 <ul class="errors"><li>You must select an image</li></ul>
 <p class="description">Some Description</p></dd> 

有没有办法强制将错误消息作为 dd 元素的 DOM 树中的最后一个元素附加?

类似:

 <dd id="img-element">
 <select size="5" class="image-select" id="img" name="img" style="display: none;">
   ...........options..............
 </select>
 <p class="description">Some Description</p>
 <ul class="errors"><li>You must select an image</li></ul></dd> 

所以“ul”位于 dd DOM 树的末尾。

谢谢,感谢您抽出宝贵时间回答这个问题!

【问题讨论】:

    标签: php zend-framework zend-form decorator zend-form-element


    【解决方案1】:

    我将描述类的 css 更改为 'position:absolute'。 这似乎解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2011-07-18
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多