2011-09-22 107 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