gpt4 book ai didi

java - Spring 中的动态表单

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:16 24 4
gpt4 key购买 nike

我正在尝试使用 Spring 表单制作动态表单。基本上,该表单获得学习 Activity 的标题,然后在其下方有一个按钮,上面写着“再添加一个学习 Activity ”。这使得用户可以再添加一项学习 Activity 。我希望他能够随心所欲地添加。

我之前没有尝试过这个,所以很明显我遇到了我想到的第一个解决方案的错误。我真的有一种感觉,做我所做的事情会产生错误,但只是把我想做的事情带回家,这是代码:

<script language="javascript">
fields = 0;
function addInput() {
document.getElementById('text').innerHTML += "<form:input path='activity[fields++].activity'/><br />";
}

<div id="text">
<form:form commandName="course">
Learning Activity 1
<form:input path="activity[0].activity"/>
<input type="button" value="add activity" onclick="addInput()"/>
<br/><br/>
<input type="submit"/>
</form:form>
<br/><br/>
</div>

最佳答案

您不能使用 < form:input>在 javascript 中,因为是在服务器端运行的 jsp 标记。

但是,HTML 输入如何绑定(bind)到 Spring 命令对象中的字段并没有什么神奇之处;它只是基于名称。所以在你的javascript中,添加一个新的 <input type="text" name="activity[1].activity">(例如——显然您将增加索引)。

我用于更复杂控件的另一个选项是获取现有控件(使用 Spring form:input 标记创建)的 HTML 并克隆它,用递增的数字替换索引。如果您使用 jQuery,这会变得容易得多。

编辑添加:一个可能会给您带来麻烦的问题是:您将新的输入框附加到外部 div(“文本”)的末尾,这意味着它不在表单标签内。那是行不通的。

关于java - Spring 中的动态表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1439044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com