gpt4 book ai didi

javascript - 向表单元素添加自定义装饰器后缺少侧边栏

转载 作者:行者123 更新时间:2023-11-30 18:52:26 24 4
gpt4 key购买 nike

侧边栏在 layout.phtml 文件中。我很困惑为什么要在我的表单中添加 1 个装饰器,导致我的侧边栏......嗯实际上它之后的每一件事section#main - 我正在使用 HTML5 - 去失踪

布局.phtml

... /* scripts and all */ ...
<body>
<header> ... </header>
<nav> ... </nav>
<div class="clear" />

<section id="main">
<?php echo $this->navigation()->breadcrumbs(); ?>
<?php echo $this->layout()->content; ?>
</section>

<aside id="sidebar"> ... </aside>
<footer> ... </footer>
</body>

section#main 之后的所有内容不见了。

我的自定义装饰器很简单

class Application_Form_Decorator_WmdPreview extends Zend_Form_Decorator_Abstract {
function render($content) {
$separator = $this->getSeparator();
$html = '<label style="margin-top: 10px">Preview</label><div class="wmd-preview" />';

switch ($this->_placement) {
case self::APPEND:
return $content . $separator . $html;
case self::PREPEND:
return $html . $separator . $content;
}
}
}

和我的表格 init() -

... // adding form elements 

// call loading of default decorators manually
$this->loadDefaultDecorators();
// override decorator for body
$this->getElement('body')
->setDecorators(array(
'ViewHelper',
'Errors',
array('Description', array('tag' => 'p', 'escape' => false)),
'Label',
new Application_Form_Decorator_WmdPreview,
array('HtmlTag', array('tag' => 'p'))
));
// disable autoloading of default decorators
$this->setDisableLoadDefaultDecorators(true);

...嗯...我现在注意到的是来自查看源的 html 没问题

<p><label for="body" class="optional">Post body</label>
<textarea name="body" id="body" rows="24" cols="80"></textarea>
<label style="margin-top: 10px">Preview</label><div class="wmd-preview" /></p>

但是 Firebug 的输出不是......

...
<textarea name="body" id="body" rows="24" cols="80"></textarea>
<label style="margin-top: 10px">Preview</label>
</p> <!-- why is this here !!! -->
<div class="wmd-preview">...</div><!-- and this out of the p!!! -->
</form>
</section>
<!-- all my content supposed to be here is missing! -->
</body>

JavaScript 问题?来自 WMD

解决方案

而不是使用 <div />使用 <div></div> .也像@DavidW 说的,我应该没有 <div><p> 里面

最佳答案

我相信 <p>标签只能包含 phrasing content .特别是 <div><p>里面使 HTML 无效。 Firefox/Firebug 可能已尽其所能,但最终却令人窒息。也许使用 <span>而不是 div 可以解决问题。

关于javascript - 向表单元素添加自定义装饰器后缺少侧边栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com