如何从下拉列表中的 select 选项加载另一页?

How to load one page from another on select of option from drop down?

单击选项后会出现一个下拉列表,我想根据所选类型重定向到同一选项卡中的另一个页面。

我想重定向到,比如如果用户选择 ssgt 然后需要转到 ssgt.php 如果选择 tsgt 然后 tsgt.php 就像 msgt 那样。

里面用link可以吗?我试过了,但没有用。

<!doctype html>
<html>
<head>
   <meta charset="utf-8">
   <title>MCQ Questions</title>     
</head>
<body>
   <form method="post" enctype="multipart/form-data">
      Select rank : 
      <select name="type" id="type" onchange="this.form.submit()"> 
         <option value="1">SSgt</option> 
         <option value="2">TSgt</option> 
         <option value="3">MSgt</option> 
      </select>
      <br><br>
      <?php
         if(isset($_POST['type'])) {
            if(strcmp($_POST['type'],"1") == 0) {
            }
         }
      ?>    
   </form>
</body>
</html>

请帮忙..谢谢。

编辑:

   <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MCQ Questions</title>

</head>
<body>


<form method="post" action="mcq.php" enctype="multipart/form-data">
    <?php
    if(isset($_POST['type']))
    {

        if(strcmp($_POST['type'],"1") == 0)
        {
            header("Location: ssgt.php");
        }
        elseif(strcmp($_POST['type'],"2" == 0))
        {
            header("Location: tsgt.php");
        }
        elseif(strcmp($_POST['type'],"3" == 0))
        {
            header("Location: msgt.php");
        }
    }

    ?>

    <h2>Lets add a question, Select a rank for which you want to add a question.</h2>
<br><br>
Select rank : 

<select name="type" id="type"  onchange="this.form.submit()">


    <option value="1">SSgt</option>
<option value="2">TSgt</option> 
<option value="3">MSgt</option> 
</select>

</form>
</body>
</html>

我试过这种方式,因此对于 ssgt 和 tsgt 各自的页面正在打开但是对于 msgt tsgt.php 的页面正在打开。

您可以像下面这样操作;

if(isset($_POST['type']))
{
    if(strcmp($_POST['type'],"1") == 0)
    {
       header("Location: ssgt.php")
    } else {
       header("Location: msgt.php")
    }

}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MCQ Questions</title>

</head>
<body>

<form method="post" enctype="multipart/form-data">

Select rank : 

<select name="type" id="type" onchange="this.form.submit()"> 

    <option value="1">SSgt</option> 
<option value="2">TSgt</option> 
<option value="3">MSgt</option> 
</select>

<br><br>



</form>
</body>
</html>

您可以根据下拉列表添加任意数量的条件。

谢谢

将简单的 switch/case 放在脚本的最顶部:

<?php
    if(isset($_POST['type'])) {
        switch($_POST['type']) {
            case 1:
                header("Location: ssgt.php");
                break;
            case 2:
                header("Location: tsgt.php");
                break;
            case 3:
                header("Location: msgt.php");
                break;
        }
    }
?>
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>MCQ Questions</title>
    </head>
    <body>
        <form method="post" enctype="multipart/form-data">
            Select rank :
            <select name="type" id="type" onchange="this.form.submit()">
                <option value="">Select rank...</option>
                <option value="1">SSgt</option>
                <option value="2">TSgt</option>
                <option value="3">MSgt</option>
            </select>
        </form>
    </body>
</html>

在你的代码中,符合 <option value="1">SSgt</option> "value" 属性将被提交。您应该提交要重定向的页面的名称。因此,将所有 options 更改为 <option value="SSgt">SSgt</option>

您的最终代码将是

<?php
if (isset($_POST['type'])) {
    $location = strtolower($_POST['type']) . '.php'; // Will convert SSgt to ssgt.php
    header("Location: " . $location);
}
?>
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>MCQ Questions</title>
    </head>
    <body>
        <form method="post" enctype="multipart/form-data">
            Select rank : 
            <select name="type" id="type" onchange="this.form.submit()"> 
                <option value="SSgt">SSgt</option> 
                <option value="TSgt">TSgt</option> 
                <option value="MSgt">MSgt</option> 
            </select>
            <br><br>
        </form>
    </body>
</html>