2013-03-01 101 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輸出包含內部表單標記。