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

Spring form, create elements client side usig javascript

本文关键字:创建 客户端 元素 javascript 使用 表单 Spring      更新时间:2023-09-26

我有一个spring表单,支持对象包括一个LazyList -工作非常好。

表单开始显示:

<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>

当用户关注最后一个文本区域时,我希望添加另一个文本区域。我有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();
    });
}

然而渲染是搞砸了…有什么建议吗?

我找到了这个,它对每个新行执行一个ajax调用。还有其他选择吗?

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

<form:textarea path="name"/>

呈现为

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

所以你必须添加一个<textarea />元素与你的javascript。

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