【发布时间】:2015-07-28 06:05:37
【问题描述】:
我正在处理一个在视图页面中显示表单的操作。这是视图的内容(我们称之为 form.phtm):
<?php echo $this->form; ?>
此视图用于显示包含页眉、内容和页脚的完整页面,或者仅用于显示要在显示面板中显示的内容。
页眉和页脚由布局文件提供,内容就是上面这行代码。因此,当它要显示在显示面板中时,我通过传递“ajax = true”参数将其指定给操作,并且该操作禁用布局以便仅输出内容。
所有这些看起来都很好,但是当尝试从显示面板提交表单时,它不起作用。
在检查标记时,我意识到表单打开和关闭标签不存在,但显示了所有字段和按钮。这仅在调用 disableLayout() 后发生(即在完整版页面中输出完整表单)。
我认为我的问题可以概括为“启用布局的 echo $this->form 与禁用布局的相同代码有什么区别”?
附:我知道我可以手动回显表单标签和元素,我只是想知道是否有一种更简单/更优雅的方式来显示整个表单,而不必担心是否通过 ajax 调用它。
2015 年 5 月 17 日编辑:我使用的是“标签”一词,但我的意思是“标签”(已更正)。
【问题讨论】:
-
那么,您正在寻找的只是通过 ajax 调用返回呈现的表单?
-
是的,它几乎可以正常工作。打印表单时,只有 标记不会呈现。实际上,我只是想知道这是否是禁用布局时的预期行为以及其背后的原因。
-
好吧,这似乎与 ZF 无关,因为即使自己输入表单标签,它们也不会出现在标记中。检查它是否与错误的 HTML 结构有关,如 stackoverflow.com/questions/5477655/… 中建议的那样
-
确保查看原始 html 输出,也就是页面源,而不是像 firebug 或 Chrome 的 Inspector 中呈现的任何 HTML。
标签: forms zend-framework