2011-09-22 24 views
0

我有一個春天窗體,與包括一個LazyList的支持對象 - 工程hunky dory。春天窗體,創建元素客戶端usig javascript

形式initally顯示:

<tr><td> 
<form:textarea path="myList[0]" cssClass="myClass" rows="2" cols="35"/> 
</td><tr> 
<tr><td> 
<form:textarea path="myList[1]" cssClass="myClass" rows="2" cols="35"/> 
</td><tr> 

當用戶論點集中在最後的textarea我想另一個要追加。的HTML和JavaScript我OK,它迄今結合彈簧支撐對象這是一個問題,我的javascript:

var myStr = '<tr><td>'+ 
    '<form:textarea path="myList[2]" cssClass="myClass" rows="2" cols="35"/>'+ 
    '</td><tr>'  

function myAppend(){ 
jq('#myTable tr:last').find("textarea").unbind('focus'); 
jq('#myTable tr:last').after(myStr); 
jq('#instructionTable tr:last').find("textarea").bind('focus', function() { 
    myAppend(); 
    }); 
} 

然而渲染搞砸了......任何提示?

我找到了this,它執行和每個新行的ajax調用。他們有其他選擇嗎?

+0

您是否正確關閉了您的''標記?在這個例子中,沒有''。 –

+1

http://eggsylife.co.uk/2009/11/30/spring-forms-dynamic-lists-and-ajax/ – NimChimpsky

+1

http://stackoverflow.com/questions/1439044/dynamic-forms-in-spring/ 1441302#1441302 – NimChimpsky

回答

1

彈簧<form:textarea ... />標記在服務器端進行評估。 它根據給定的標籤參數呈現相應的HTML元素。 所以一:

<form:textarea path="name"/> 

呈現給

<textarea id="name" name="name"></textarea> 

所以,你必須一個<textarea />元素追加使用您的JavaScript。

使用該標籤的原因是將彈性值綁定到您的彈簧控制器提供的'commandBean'。

+1

此問題的解決方法如下:http://eggsylife.co.uk/2009/11/30/spring-forms-dynamic-lists-and-ajax/ – NimChimpsky

+1

和http://stackoverflow.com/問題/ 1439044 /動態形式,在彈簧/ 1441302#1441302 – NimChimpsky