是否可以通过带有复选框形式的URL发送多个值?

时间:2014-06-30 10:10:57

标签: php forms post get categories

您好我想知道是否可以这样做?

即。我有这个复选框表格:

<form action="c.php" method="get">
  <fieldset>
    <legend>Filter Categories</legend>
    <p>
      <label><input type="checkbox" name="id" value="1" name="catname" value="Music"/> Music</label>
      <label><input type="checkbox" name="id" value="2 name="catname" value="Games"/> Games</label>
      <label><input type="checkbox" name="id" value="3 name="catname" value="Tech"/> Tech</label>
    </p>
  </fieldset>
  <button type="submit">Filter</button>
  <button type="reset">Reset</button>
</form>

如果我仅检查音乐,例如网址应如下所示:http://domain.com/c.php?id=1&catname=Music

感谢

1 个答案:

答案 0 :(得分:2)

不是纯HTML。每个元素只能有一个给定名称的属性。

解决此问题的最佳方法是使用唯一标识符作为值,然后在服务器上查找各种关联值(例如,使用数据库或哈希表)。

或者,您可以在值中添加结构化数据(例如,以逗号分隔值),然后在服务器上解析它们。

您也可以使用JavaScript通过使用data-*属性存储其他数据,然后使用它们来添加和删除<input type="hidden">元素,并在选中复选框时从DOM中添加适当的名称和值,或者未选中状态。

(请注意,为了明智地支持PHP中具有相同名称的多个输入,名称应以[]结尾,以便使用数组而不是字符串填充$_GET