2011-11-02 98 views
2

也许这是一个简单的答案,即时消息只是没有看到它,但生病无论如何要问。所以我有我的网站的搜索表单。搜索表单包括一个类别部分,用户可以从不同的类别中选择项目,所有项目都是复选框。它们都具有相同的名称,以便我可以使用一些JavaScript来选择全部并选择无。我需要使用php $ _GET,这样我才能将参数添加到url,以便我可以回到用户最初搜索的条件。

HTML:

<input name="catID[]" id="catID_10" type="checkbox" value="10" /> 
<input name="catID[]" id="catID_11" type="checkbox" value="11" /> 
<input name="catID[]" id="catID_12" type="checkbox" value="12" /> 
... 

在从已提交,实际的托架被转换成HTML字符串形式之后和被格式化像“CATID%5B%5D = 10 & CATID%5B%5D的URL = 11 & catID%5B%5D = 12“

所以我想知道,是否有一些JavaScript我可以执行,一旦提交表单以更改每个复选框的名称,以便它将在url中格式化,但不会混乱其他选择全部/选择无功能?

+0

如果你不改变网址任何方式,当你'var_dump($ _ GET)'时,PHP会给你什么? – dnagirl

+0

catID%5B%5D = 10&catID%5B%5D = 11&catID%5B%5D = 12是正确的格式。它可以让您在提交时从$ _GET读取数组 – jlb

回答

4

这对于URL中的一个php风格的数组是完全正常的。你会发现,如果你这样做print_r($_GET),你会得到这样的:

array(
    'catID' => array(
     0 => 10, 
     1 => 11, 
     2 => 12 
    ) 
    'otherparameter' => 'value' 
) 

,并可以在单个复选框值得到一个简单的

if (is_array($_GET['catID'])) { 
    foreach($_GET['catID'] as $catID) { 
     ... 
    } 
} 
相关问题