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

发布于 2024-12-06 03:48:17 字数 1014 浏览 0 评论 0原文

我有一个弹簧表单,带有包含 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 都还好,它与弹簧支持对象的绑定是一个问题,到目前为止我的 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调用每一个新行。他们还有其他选择吗?

I have a spring form, with backing object that includes a LazyList - works hunky dory.

The form initally shows:

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

When a user focusses on the final textarea I want another one to be appended. The html and javascript I have OK, its the binding to the spring backing object that is a problem, my javascript so far:

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();
    });
}

However the rendering is screwed up ... any tips ?

I've found this, which performs and ajax call for each new line. Is their any other option ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平定天下 2024-12-13 03:48:17

spring 标签在服务器端进行评估。
它根据给定的标签参数呈现相应的 HTML 元素。
所以 a:

<form:textarea path="name"/>

被渲染为

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

所以你必须在你的 javascript 中附加一个

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

The spring <form:textarea ... /> tag is evaluated on server side.
It renders the according HTML Element based on the given tag parameters.
So a:

<form:textarea path="name"/>

is rendered to

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

So you have to append a <textarea /> Element with your javascript.

The reason for using the tag is to bind the submited value to the 'commandBean' provided by your spring controller.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文