2013-06-03 28 views
1

我使用jquery追加我的表,當我追加它,一個新的tbody被添加,並且每個tbody包含一個表單。問題是,onley第一種形式是工作,我不知道爲什麼。這是我的腳本:與多個表單和只有一個表格工作表

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#tr_clone_add").click(function(){ 

    $('#listuser').append('<tbody><form:form action="${pageContext.request.contextPath}/insertMovement" method="post" commandName="movement"><tr>'+ 
'<td><form:input type="text" path="nom_etabl"/></td>'+ 
'<td><form:input type="text" class="tcal" readonly="true" path="date_fin"/></td><td><input type="submit" value="" class="button round blue image-right ic-right-arrow"></td></tr></form:form></tbody>'); 
    f_tcalInit(); 
    }); 
}); 

問題在哪裏?

+0

什發生?當你說它不起作用時,你的意思是什麼?是否有錯誤訊息?網頁是否坐在那裏?它是否發佈但值缺失?等 –

+0

表單的動作必須插入數據到數據庫,但是當我點擊按鈕時,什麼都沒有發生 – Somar

+0

'

回答

1

您正在添加僞服務器(<form:form><form:input>),這些僞服務器被服務器正常解析並直接轉換爲有效的HTML到DOM樹。瀏覽器無法處理它們,所以你的表單不起作用。

你有兩個選擇:

  1. 添加有效的HTML標記(<form><input>的pseudotags
  2. ,而不是使用AJAX調用來解析服務器上的標記和生成的HTML添加到您的DOM樹。

你必須決定什麼更適合你,這取決於服務器從這些標籤生成。

+0

現在來吧,ajax調用只是爲了生成表單標記?我不認爲這是一個有效的建議。 –

+0

我相信,如果''標籤在生成時爲標籤添加了更多屬性(例如用於區分多個表單或標籤的唯一ID),這是一個有效的解決方案。 –

+0

也許,但我會說,這將需要一些工作流程優化,最壞的情況下 - 將id打印到隱藏字段中,並通過字段的id將其與JS聯繫起來。不是說ajax調用沒有有效的使用場景,我只是說它必須是合理的。 ajax調用會產生很多連接開銷。 –

1

你的表格html無效。見here正確的方式來做到這一點。

+0

爲什麼它無效?形式:形式是一個春天的標籤。我只是複製第一個(它寫在jsp頁面的腳本之外)和過去的腳本有相似的形式。 – Somar

+1

您正在通過JavaScript添加表單(閱讀:客戶端)。我認爲,您使用的格式在服務器端腳本解析的語法中有效,但不適用於客戶端瀏覽器。對不起,我不熟悉java或spring(我是php),但是您可以確定,通過客戶端js添加時,這不起作用。 –

+0

那麼我該如何解決這個問題?如何傷心... – Somar

相關問題