【发布时间】:2014-12-23 14:42:01
【问题描述】:
我有一个 HTML 页面,其中选择元素的数量不断变化。
<script>
function getValues() {
var selects = document.getElementsByTagName('select'),
arr = Array.prototype.slice.call(selects),
selectValues = arr.map(function (select) {
return select.value;
});
return selectValues;
}
</script>
<script type='text/javascript'>
function moreSelect() {
for (i = 0; i < number; i++) {
// Append a node with a random text
container.appendChild(document.createTextNode("Name " + (i+1) + ": "));
// Create an <input> element, set its type and name attributes
var input = document.createElement("select");
input.name = "name" + (i+1);
container.appendChild(input);
// Append a line break
container.appendChild(document.createElement("br"));
}
</script>
<form action="action"method="POST" onsubmit="return getValues;">
More selects (max. 9):<br>
<p>
<input type="number" id="name" name="name" value="0"
min="0" max="9"><br />
<button type="button" onclick="moreSelect()">Add</button>
<br>
<p>
<br>
<div id="container" /></div>
<p>
<br> <br> <input type="submit" value="Go">
</form>
我想在 POST 方法之前将此值收集到列表或数组中,并将此参数列表提供给我的 Java 控制器,如下所示:
@RequestParam("allValues") List<String> allValues
编辑:我编辑了它,但不起作用。
【问题讨论】:
-
您只想要每个选择的值还是它们的名称?顺便说一句:您的选择中没有选项?
-
只是价值观。是的,我知道,我跳过这部分。 :)
标签: java javascript html forms