2010-04-26 62 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'。 這似乎解決了這個問題。