2013-03-01 49 views
0

我有一个非常令人困惑的问题,我从来没有见过。我想知道我是否错过了一些非常明显的东西。下划线模板不在主干视图上呈现元素查看重新呈现

我有一个像这样的模板(我与Underscore编译):

<a href="#advanced-search" data-toggle="modal"> 
    Advanced search 
</a> 

<div id="advanced-search"> 
    <div class="modal-header">header</div> 
    <div class="modal-body"> 
    <form id="advanced-search-form"> 
     // This has form elements 
    </form> 
    </div> 
    <div class="modal-footer">footer</div> 
</div> 

的问题是,每当我重新渲染它是使用模板骨干视图,表单元素不会被渲染!初始渲染正常。

我试过在表单元素中嵌套一个<div id="advanced-search-form">并从表单元素中删除id,试图从advanced-search-form id中分离表单元素。结果是嵌套的div被渲染,而form仍然没有。

我需要表单元素才能使用serializeArray,其中only works on form elements

我想一个解决方法是编写一个函数,它可以在任何元素内对输入元素进行序列化,但这并不理想,我真的很想知道为什么会发生这种奇怪的事情。

感谢您的期待!

编辑:渲染代码 现在我不是基于任何集合或模型事件重新渲染。我通过父视图中的链接上的点击事件手动触发重新呈现。以下是我的两个观点的基本结构(CoffeeScript的):

​​
+1

渲染看起来像什么代码? – 2013-03-01 16:56:44

+0

在您的模板开头添加一个“<%debugger%>”,并使用您最喜欢的浏览器调试器,逐步执行生成的模板代码。 – WiredPrairie 2013-03-01 19:50:06

+0

你可以在JSFiddle中重现这个吗?这里有一个准备好的小提琴与骨干,下划线等已经加载:http://jsfiddle.net/3ekqd/ – jevakallio 2013-03-01 19:59:32

回答

0

后来我意识到,我渲染<form>另一form标签内,我相信铬去除内form标签自动修复无效的HTML 。这可能是我的问题,因为console.logging模板的html输出包含内部表单标记。