我从未做过这样的事情,我想知道怎么做。如果字段输出
,我需要将4个输入放入子数组中我知道当i $ _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"/>
这是对还是错?
感谢
答案 0 :(得分: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()
答案 1 :(得分: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)
[假设form method = 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周围删除'
。他们不需要。
你快到了。 offers[]['minspend']
表示您获得:
array(){
array(){
'minspend' => "15.00"
}
array(){
'minspend' => "5.00"
}
.. and so on
}
所以发生的事情是,当您执行arr[] = 1
之类的操作时,1
会插入到数组arr
中。
答案 2 :(得分:0)
首先让我告诉你我从这个问题中理解了什么。您希望多个输入字段具有相同的名称,然后您想要全部选择它们以执行某些操作。如果是这种情况,我想提出一种不同的方法 - 为什么不将同一个类(cssclass)分配给想要具有相同名称的所有控件。这样,您就可以使用document.getElementsByClassName("yourclassName")
一起选择它们。这将返回一个包含class属性为yourclassName
的所有元素的数组。
或者,如果您想坚持使用名称,那么您可以使用document.getElementsByName("elementName");
返回一个名为elementName
的元素数组。
希望它有所帮助。