0

我从来没有做过这样的事情,我想知道该怎么做。如果它是字段输出,我需要将 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"/>

这是对还是错?

谢谢

4

3 回答 3

1

这在一定程度上取决于处理您的请求的后端技术(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 ()

于 2012-09-13T04:11:13.847 回答
1

这种形式

<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)[假设形式方法=帖子]时,请给出:

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"
        }
    }
}

所以,这就是你的做法。

您可以删除'minspend 周围的 s。他们不需要。

你快到了。offers[]['minspend']意味着你得到:

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

所以发生的事情是,当你做类似的事情时arr[] = 11被插入到数组arr中。

于 2012-09-13T04:26:23.500 回答
0

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

于 2012-09-13T04:07:36.253 回答