渲染 zend 表单元素之前会留下空白

发布于 2024-10-25 12:48:04 字数 2067 浏览 10 评论 0原文

当我手动回显 zend_form_elements (通过从 ini 文件创建表单创建)时,似乎在实际元素之前留下了一些空格,我无法理解导致它的原因或如何修复它。顺便说一句,方向是从右到左。屏幕截图最好地描述了我的意思:(删除标签装饰器后,1 到 5 字段是表单元素)

http: //i52.tinypic.com/orqbkz.jpg

这是 php 代码:

$templateElems = '<ol id=elemlist><li>'.$removeButton.'</li>';
        foreach ($elements as $elem){
        /*  $elem->label_style='';*/
            $elem->setLabel('');
            $elem->removeDecorator('label');
            $templateElems = $templateElems.'<li>'.$elem.'</li>';
            $table =  $table.'<th>'.$elem->getName().'</th>';

如果有人至少能告诉我是什么导致了这些空格,我将不胜感激。 提前致谢! 这是所要求的 HTML:

   <input type=hidden id=oldnum name=num value=0></input>
<input type=hidden id=newnum name=num value=0></input>
<ol id=elemlist>
<li><img src="/images/delete.png" id=remitem name="remitem"></img></li>
<li><dd id="name-element"><input type="text" name="name" id="name" value=""></dd></li><li><dd id="text1-element"><input type="text" name="text1" id="text1" value=""></dd></li><li><dd id="text2-element"><input type="text" name="text2" id="text2" value=""></dd></li><li><dd id="num1-element"><input type="text" name="num1" id="num1" value=""></dd></li>
</ol>
<table id=items border="0" cellspacing="1" cellpadding="0" class="list">
<tr><th>Remove Item</th><th>name</th><th>text1</th><th>text2</th><th>num1</th></tr>
</table>
<button id=addnew type="button">הוסף פריט</button></fieldset>
<dt id="submit-label">&#160;</dt><dd id="submit-element">
    <input type="submit" name="submit" id="submit" value="שלח"></dd></form></div>   
        <!--// End CONTENT-->

When I manually echo zend_form_elements (created through Form creation from an ini file), it appears that some whitespace is left before the actual element and I can't understand whats causing it or how to fix it. The direction is right to left btw. The screenshot describes best what I mean: (The 1 to 5 fields are form elements after removing the label decorator)

http://i52.tinypic.com/orqbkz.jpg

Here's the php code:

$templateElems = '<ol id=elemlist><li>'.$removeButton.'</li>';
        foreach ($elements as $elem){
        /*  $elem->label_style='';*/
            $elem->setLabel('');
            $elem->removeDecorator('label');
            $templateElems = $templateElems.'<li>'.$elem.'</li>';
            $table =  $table.'<th>'.$elem->getName().'</th>';

I would be most grateful if someone could at least tell me whats causing those whitespaces.
Thanks in advance!
Here's the HTML as requested:

   <input type=hidden id=oldnum name=num value=0></input>
<input type=hidden id=newnum name=num value=0></input>
<ol id=elemlist>
<li><img src="/images/delete.png" id=remitem name="remitem"></img></li>
<li><dd id="name-element"><input type="text" name="name" id="name" value=""></dd></li><li><dd id="text1-element"><input type="text" name="text1" id="text1" value=""></dd></li><li><dd id="text2-element"><input type="text" name="text2" id="text2" value=""></dd></li><li><dd id="num1-element"><input type="text" name="num1" id="num1" value=""></dd></li>
</ol>
<table id=items border="0" cellspacing="1" cellpadding="0" class="list">
<tr><th>Remove Item</th><th>name</th><th>text1</th><th>text2</th><th>num1</th></tr>
</table>
<button id=addnew type="button">הוסף פריט</button></fieldset>
<dt id="submit-label"> </dt><dd id="submit-element">
    <input type="submit" name="submit" id="submit" value="שלח"></dd></form></div>   
        <!--// End CONTENT-->

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

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

发布评论

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

评论(1

日暮斜阳 2024-11-01 12:48:04

我会将装饰器设置为:
$elem->setDecorators(array('ViewHelper','Errors'));

此行将删除在文本框周围创建的标签,并将删除空格。

I would set the decorators to this:
$elem->setDecorators(array('ViewHelper','Errors'));

this line will remove the tags that are created around your text box and it will remove the spaces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文