0

我有一个有 2 个下拉菜单的表单:

<form id="form1">
<select name="sweets" id="sweets">
  <option value="Cake">Cake</option>
  <option value="Pie">Pie</option>
</select>

<select name="candy" id="candy">
  <option value="Chocolate">Chocolate</option>
  <option value="Gum">Gum</option>
</select>

<input type="submit" value="Submit">
</form>

假设我在第一个下拉列表中选择“Cake”选项,在第二个下拉列表中选择“Gum”选项并点击提交,我想在下一页加载 2 个 div,即

        <div id="cake">some data</div> and <div id="gum">some data</div>

由于未选择“派”和“巧克力”,我不希望它们在下一页加载任何相关数据。

同样,如果我选择“蛋糕”和“巧克力”,相关的 div 应该会在下一页打开。

我正在尝试根据多个表单选择在另一个页面上加载数据。我完全被迷住了,不知道如何根据这些下拉选择将数据传递到另一个页面。我尝试了一些 javascript 和 php,但没有接近任何解决方案。

有人可以帮忙吗!或者指出我正确的方向。谢谢!

4

1 回答 1

0

你可以使用一堆不同的方法,这里是一个使用switch

表单.php

<form id="form1" action="display.php" method="post">
<select name="sweets" id="sweets">
  <option value="Cake">Cake</option>
  <option value="Pie">Pie</option>
</select>

<select name="candy" id="candy">
  <option value="Chocolate">Chocolate</option>
  <option value="Gum">Gum</option>
</select>

<input type="submit" value="Submit">
</form>

显示.php

switch($_POST['sweets']){
    case 'Cake':
          echo '<div id="cake">some data</div>';
          break;
    case 'Pie':
          echo '<div id="pie">some data</div>';
          break;
    default:
          break;
}

switch($_POST['candy']){
    case 'Chocolate':
          echo '<div id="chocolate">some data</div>';
          break;
    case 'Gum':
          echo '<div id="gum">some data</div>';
          break;
    default:
          break;
}

编辑:使用复选框时

<input name="candy[]" type="checkbox" value="Chocolate">Chocolate
<input name="candy[]" type="checkbox" value="Gum">Gum

foreach($_POST['candy'] as $candy){
    switch($candy){
        case 'Chocolate':
          echo '<div id="chocolate">some data</div>';
          break;
        case 'Gum':
          echo '<div id="gum">some data</div>';
          break;
        default:
          break;
    }
}
于 2013-09-18T15:38:41.417 回答