如何从下拉列表中选择一个选项加载另一个页面?

时间:2017-03-31 12:03:17

标签: php html hyperlink webpage

我有一个下拉列表,点击我想要根据所选类型重定向到同一选项卡中的另一个页面的选项。

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

是否可以通过内部链接完成?我试过但没有用。

<!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的页面正在打开。

3 个答案:

答案 0 :(得分:2)

将简单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>

答案 1 :(得分:0)

你可以像下面这样做;

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>

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

由于

答案 2 :(得分:0)

在你的代码中,符合要求 <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>