Javascript:将元素值表单化到集合中

标签 java javascript html forms

我有一个 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 Controller ,如下所示:

@RequestParam("allValues") List<String> allValues

编辑:我编辑了它,但不起作用。

最佳答案

获取所有select,通过Array.prototype.slice将它们转换为真正的Array。现在您可以使用 map 来获取所有值。 getElementsByTagName 返回一个 HTMLCollection,不支持 map() 等。

var selects = document.getElementsByTagName('select'),
    arr = Array.prototype.slice.call(selects),
    selectValues = arr.map(function (select) {
        return select.value;
    });

现在selectValues是一个选择值的数组。

关于Javascript:将元素值表单化到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26604179/

相关文章:

java - 不确定为什么 Java mergesort 算法偶尔会失败

java - 如何使用gmail从Spring应用程序发送电子邮件?

java - GSON : How to convert Object (which itself contains JSON) to JSON

javascript从onclick变成一个函数

html - "type"属性与虚构属性的 CSS 属性选择器和区分大小写

java - 如何正确使用同步链接 HashMap

javascript - React - 像书页一样的 CSS Transition

javascript - 如何删除 JavaScript 中创建的元素?

html - 篡改 URL 后 CSS 未加载

html - line-height属性可以继承父div的height属性还是access所属div的height属性?