我有一个弹簧形式,背景对象包含一个LazyList - 作品hunky dory。
表单最初显示:
<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我没关系,它绑定到Spring支持对象是一个问题,到目前为止我的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)
在服务器端评估spring <form:textarea ... />
标记。
它根据给定的标记参数呈现相应的HTML元素。
所以a:
<form:textarea path="name"/>
呈现为
<textarea id="name" name="name"></textarea>
所以你必须用你的javascript追加<textarea />
元素。
使用标记的原因是将提交的值绑定到spring控制器提供的“ commandBean ”。