Spring表单,使用javascript创建元素客户端

时间:2011-09-22 15:57:44

标签: javascript dom spring-mvc

我有一个弹簧形式,背景对象包含一个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调用。他们还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

在服务器端评估spring <form:textarea ... />标记。 它根据给定的标记参数呈现相应的HTML元素。 所以a:

<form:textarea path="name"/>

呈现为

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

所以你必须用你的javascript追加<textarea />元素。

使用标记的原因是将提交的值绑定到spring控制器提供的“ commandBean ”。