0

我的表单中有多个复选框,我想使用它们来生成 url。一个例子 :

  <form action="checkbox.php" method="post">
  <input type="checkbox" name="checkbox" value="a">
  <input type="checkbox" name="checkbox" value="b">
  <input type="checkbox" name="checkbox" value="c">
  <input type="checkbox" name="checkbox" value="d">
  <br>
  <br>
  <input type="submit" name="Submit" value="Submit">
  </form>

当用户按下提交按钮时,他必须被重定向到生成的 url,如下所示:

www.domain.com/checkbox/a+b+c+d

根据用户的选择,应按上述方式生成 url。我怎么能拉这个?

4

2 回答 2

1

在您的 checkbox.php 中,获取所有选中的复选框,创建所需的 url,并使用header("Location: $url").

HTML:

<input type="checkbox" name="checkbox[]" value="a" />
<input type="checkbox" name="checkbox[]" value="b" />
<input type="checkbox" name="checkbox[]" value="c" />
<input type="checkbox" name="checkbox[]" value="d" />

复选框.php:

<?php

if ($_POST) {
  $url = "http://www.domain.com/checkbox/";
  $params = '';
  $checkBoxes = $_POST['checkbox'];
  foreach ($checkBoxes as $value) {
    $params .= $value;
    if ($value != $checkBoxes[count(checkBoxes) - 1])
      $params .= '+';
  }
  $url .= $params;
}

header("Location: $url");
于 2012-05-29T23:43:03.877 回答
0

如果您不想使用 AJAX,这是一个 php 示例

您的 checkbox.php 顶部:

<?php

    if (isset($_POST['checkbox'])){
       $url = 'checkbox/' . implode('+',$_POST['checkbox']);

       header('Location:'. $url);
       die;    
    }


?> 
于 2012-05-29T23:44:52.647 回答