HTML具有相同名称的多个输入元素

昨天我遇到了一个具体而有趣的问题。假设我们有以下html代码块:

<div id="addresses">

<input type="text" name="address" id="addr1" />

<input type="text" name="address" id="addr2" />

<input type="text" name="address" id="addr3" />

</div>

发布此表单时,将连接具有相同名称的输入元素,并使用逗号分隔值。例如,如果我们具有以下值:

addr1 = 'TEST TEST XXX'

addr2 = 'YYY ZZZ 11111'

addr3 = 'ZZZ KKK TEST '

提交的表单发布数据如下:

address = 'TEST TEST XXX', 'YYY ZZZ 11111', 'ZZZ KKK TEST '

然后我可以将这些值中的每一个作为服务器端数组的元素(数组的3个不同元素)获取。但是,如果值是这样的:

addr1 = 'TEST, TEST XXX'

addr2 = 'YYY ZZZ, 11111'

addr3 = 'ZZZ KKK, TEST '

然后提交的表单数据变为:

address = 'TEST, TEST XXX', 'YYY ZZZ, 11111', 'ZZZ KKK, TEST '

那么结果数组包含6个元素,这是完全错误的。我相信值中包含的COMMA字符不会转义。

关于这个问题的任何想法。提前致谢…

回答:

使用此HTML

<div id="addresses">

<form:input path="address[0]" />

<form:input path="address[1]" />

<form:input path="address[2]" />

</div>

Spring应该使用String[] address服务器端对象的值填充输入文本,反之亦然。

您可以在这里看看:http

//bitbybitblog.com/forms-and-data-models-in-spring-

mvc/

以上是 HTML具有相同名称的多个输入元素 的全部内容, 来源链接: utcz.com/qa/415758.html

回到顶部