html和javascript的多个输入名称相同-如何


html and javascript same name for multiple inputs - how to?

我从来没有做过这样的事情,我想知道如何做。如果是字段输出,我需要将4个输入放入子数组

我知道当我$_POST表单到服务器时,它会发送输入的名称,但我如何让输入具有相同的名称

例如

我需要它在中的子数组提供以下是我不知道的。如何获得以下输入

<input name="offers[]['minspend']" value="15.00"/>
<input name="offers[]['minspend']" value="5.00"/>
<input name="offers[]['minspend']" value="19.00"/>
<input name="offers[]['minspend']" value="8.00"/>
<input name="offers[]['minspend']" value="30.00"/>
<input name="offers[]['minspend']" value="7.00"/>
<input name="offers[]['minspend']" value="100.00"/>
<input name="offers[]['minspend']" value="10.00"/>

这是对的还是错的?

感谢

这在一定程度上取决于处理请求的后端技术(java、php、whatnot),但从html的角度来看,具有相同名称的多个元素只会使用相同的参数名称发送其值。您不需要任何特殊的[]语法。

GET /mypage.html?offer=15.00&offer=5.0&offer=19.0 (etc, could be post too)

大多数为html请求提供内置支持的语言都将此请求表示为一个映射,其中包含一个名为"offer"的键和一个包含提交值的数组或列表。

例如http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameterMap()

此表单为

<input name="offers['minspend'][]" value="15.00"/>
<input name="offers['minspend'][]" value="5.00"/>
<input name="offers['minspend'][]" value="19.00"/>
<input name="offers['minspend'][]" value="8.00"/>
<input name="offers['minspend'][]" value="30.00"/>
<input name="offers['minspend'][]" value="7.00"/>
<input name="offers['minspend'][]" value="100.00"/>
<input name="offers['minspend'][]" value="10.00"/>

关于做var_dump($_POST)〔假设形式方法=post〕给出:

array(1) {
    ["offers"] = > array(1) {
        ["''minspend''"] = > array(8) {
            [0] = > string(5)"15.00"
            [1] = > string(4)"5.00"
            [2] = > string(5)"19.00"
            [3] = > string(4)"8.00"
            [4] = > string(5)"30.00"
            [5] = > string(4)"7.00"
            [6] = > string(6)"100.00"
            [7] = > string(5)"10.00"
        }
    }
}

所以,你就是这么做的。

您可以在分钟左右删除'。它们是不需要的。

你就快到了。offers[]['minspend']表示您得到:

array(){
    array(){
        'minspend' => "15.00"
    }
    array(){
        'minspend' => "5.00"
    }
    .. and so on
}

因此,当您执行类似arr[] = 1的操作时,会将1插入到数组arr中。

首先让我告诉你我从这个问题中理解了什么。您希望多个输入字段具有相同的名称,然后希望将它们全部选中以执行某些操作。如果是这种情况,我想提出一种不同的方法——为什么不将相同的类(cssclass)分配给所有想要具有相同名称的控件呢。这样,您就可以使用document.getElementsByClassName("yourclassName")一起选择它们。它将返回一个包含类属性为CCD_ 8的所有元素的数组。或者,如果你想坚持使用名称,那么你可以使用document.getElementsByName("elementName");,它会返回一个名称为elementName的元素数组。希望它能有所帮助。