2010-04-26 59 views
0

我有以下的Zend_Form_Element:如何将描述附加到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树的末端。

谢谢,我感谢您花时间回复此问题!

回答

0

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