【问题标题】:Spring form, create elements client side usig javascriptSpring表单,使用javascript创建元素客户端
【发布时间】:2011-11-22 23:39:53
【问题描述】:

我有一个 spring 表单,其支持对象包括一个 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>

当用户关注最终文本区域时,我希望添加另一个文本区域。我的 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 调用。他们还有其他选择吗?

【问题讨论】:

标签: javascript dom spring-mvc


【解决方案1】:

spring &lt;form:textarea ... /&gt; 标签在服务器端进行评估。 它根据给定的标签参数呈现相应的 HTML 元素。 所以一个:

<form:textarea path="name"/>

被渲染到

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

所以你必须在你的 javascript 中附加一个 &lt;textarea /&gt; 元素。

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

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 2011-05-01
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多