表单中输入的多个值?

时间:2009-10-14 08:34:30

标签: php html forms

好的,让我先举一个例子。我有很多项目,他们可以分为一系列类别。项目可以是多个类别。基本上我所拥有的是具有按类别分组的复选框的项目列表。同样,项目可以出现多次。所以它可能看起来像:

蓝色物品: 第1项 第2项 第3项

红色物品: 第1项 第4项

因此,每个项目旁边都有一个复选框,用于删除项目类别关联。我应该在输入值中存储什么,以便区分不同类别的项目?我的意思是我不能使用项目编号,因为它可以出现在多个类别中。我可以做类似“blue-item2”之类的东西然后当我使用我的服务器端脚本通过表单拆分值字符串“ - ”但这似乎有点不确定。

对不起,如果问题有点模糊。如果需要,我可以澄清一点。

2 个答案:

答案 0 :(得分:9)

包含以下元素的表单:

<input type="checkbox" name="item[blue][0]">
<input type="checkbox" name="item[blue][1]">
<input type="checkbox" name="item[blue][2]">

<input type="checkbox" name="item[red][0]">
<input type="checkbox" name="item[red][1]">

将导致$_POST['item']元素的以下值:

array(
    'blue' => array(0, 1, 2),
    'red'  => array(0, 1),
);

答案 1 :(得分:1)

您可以使用每个复选框的名称标签,并为同一类别指定相同的名称。比如说你有一个蓝色项目的复选框 input type =“check”name =“blueitems []”

您是否注意到名称中的[](数组),即在同一组中提供相同的名称。现在,您可以通过这种方式访问​​document.getElementsByName [“blueitems []”],您将获得一个数组,并使用索引可以访问特定元素。

这里可以找到类似的例子。 Example for using name arrays