Php 是否在表单元素后面添加文本/html?

Php 是否在表单元素后面添加文本/html?,php,zend-framework,Php,Zend Framework,如何在Zend框架中的表单元素后面添加文本?假设我有一个文本输入字段,首先有一个标签,标签下面有一个实际的输入字段,但我想在输入字段后面添加一些额外的文本(2-3句话)。类似于简短提示或建议,该字段的最佳值是什么。您可以使用description选项作为元素选项,在元素之后添加一个带有描述的标签(使用默认装饰符) 然后,您只需要一些CSS来将描述定位到正确的位置。差不多 dd.myelement{ position: relative; } dd.myelement p { position:

如何在Zend框架中的表单元素后面添加文本?假设我有一个文本输入字段,首先有一个标签,标签下面有一个实际的输入字段,但我想在输入字段后面添加一些额外的文本(2-3句话)。类似于简短提示或建议,该字段的最佳值是什么。

您可以使用description选项作为元素选项,在元素之后添加一个带有描述的标签(使用默认装饰符)

然后,您只需要一些CSS来将描述定位到正确的位置。差不多

dd.myelement{
position: relative;
}

dd.myelement p {
position: absolute;
top:0;
right: 0;
}
您可能需要在输入和p上使用z-index属性:

dd.myelement p {
z-index: 1;
}

dd.myelement input {
z-index: 2;
}
可能缺少CSS属性(我是从内存中编写的),但我希望您能理解:)

Richard

你需要一个装饰师!:)它们有时有点复杂,但我一直在使用下面的方法,这可能有点过时,但并非没有帮助。特别检查
图例的使用情况。我认为这正是你想要做的


希望这有帮助

您可以简单地向输入元素添加描述,例如

$element = new Zend_Form_Element_Text('itemName', array(
      'label' => 'My Label',
      'description' => 'Enter some text'
));
来自采埃孚手册第23.7.3章
Zend\u Form\u Decorator\u Description

默认情况下,如果没有描述,则不生成输出。如果存在描述,则默认情况下它会包装在HTML p标记中,不过您可以通过在创建装饰器时传递标记选项或调用setTag()来指定标记。您还可以使用class选项或调用setClass()为标记指定一个类;默认情况下,使用类“hint”

因此,要修改decorator,您可以编写如下内容

$element->setDecorators(
    array(
        'ViewHelper',
        'Errors',
        array('Description', array('placement' => 'append', 
                                   'escape' => false, 
                                   'tag' => 'span')),
        array('HtmlTag', array('tag' => 'dd')),
        array('Label', array('tag' => 'dt', 'escape' => false))
 )); 

您可能还需要检查。

我认为内置的描述装饰器对于Richard的用例已经足够了