【问题标题】:Having different drop down menues?有不同的下拉菜单?
【发布时间】:2023-04-03 20:24:01
【问题描述】:

我希望能够在选中单选按钮时显示不同的下拉菜单。这是我到目前为止的代码:

        <input checked="unchecked" type="Radio" name="gender" value="male" class="auto-style3" style="width: 20px">Male
            <input checked="unchecked" type="Radio" name="gender" value="female">Female
                                                <br>                                                                             
            <?php 

        $answer = $_POST['gender'];  
        if ($gender == "male") {          
            <select name="Select1">
    <option></option>
    <option>Floor</option>
    <option>Pommel</option>
    <option>Rings</option>
    <option>Vault</option>
    <option>P Bars</option>
    <option>High Bar</option>
        </select>;      
        }
        else {
            <select name="Select1">
    <option></option>
    <option>Vault</option>
    <option>Uneven Bars</option>
    <option>Beam</option>
    <option>Floor</option>

        </select>;
        }          
        ?>     

【问题讨论】:

    标签: php drop-down-menu radio-button


    【解决方案1】:

    试试

    <form name="yourform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input checked="unchecked" type="Radio" name="gender" value="male" class="auto-style3" style="width: 20px">Male
    <input checked="unchecked" type="Radio" name="gender" value="female">Female
    <input type="submit" value="Submit">
    </form>
    
    <?php 
    if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
        $answer = $_POST['gender'];  
        if ($answer == "male") {  ?>  
    
    <select name="Select1">
    <option></option>
    <option>Floor</option>
    <option>Pommel</option>
    <option>Rings</option>
    <option>Vault</option>
    <option>P Bars</option>
    <option>High Bar</option>
    </select>       
    
        <?php } else { ?>
    
    <select name="Select1">
    <option></option>
    <option>Vault</option>
    <option>Uneven Bars</option>
    <option>Beam</option>
    <option>Floor</option>
    </select>
    
    <?php }} ?>   
    

    这只有在你发布了“性别”广播的结果时才有效,当然,因为 php 是在服务器端执行的......

    【讨论】:

    • 出现“注意:未定义的索引:C:\xampp\htdocs\index.php 中的性别在第 55 行注意:未定义的变量:C:\xampp\htdocs\index.php 中的性别在第 56 行“
    • 第 55 行:$answer = $_POST['gender'];第 56 行:if ($gender == "male") { ?>
    • 肯定是这样,因为 $gender 从未被定义过。我相应地更新了我的答案
    • 投递箱没有出现。
    • 因为我今天工作无聊到流泪,这里是完整的解决方案..请花点时间阅读php的基础知识!
    【解决方案2】:

    试试这个:

    不要在 PHP 中将 HTML 呈现为字符串。

    而不是打破 PHP 代码段并编写 HTML 代码。

    所以,以下是正确答案:

    <input checked="unchecked" type="Radio" name="gender" value="male" class="auto-style3" style="width: 20px">Male
    <input checked="unchecked" type="Radio" name="gender" value="female">Female
    <br>
    <?php
    $gender = (! empty($_POST['gender'])) ? $_POST['gender'] : 'male';
    if ($gender == "male") {
    ?>       
    <select name="Select1">
    <option></option>
    <option>Floor</option>
    <option>Pommel</option>
    <option>Rings</option>
    <option>Vault</option>
    <option>P Bars</option>
    <option>High Bar</option>
    </select>
    <?php
    }
    else {
    ?>
    <select name="Select1">
    <option></option>
    <option>Vault</option>
    <option>Uneven Bars</option>
    <option>Beam</option>
    <option>Floor</option>
    </select>
    <?php
    }          
    ?> 
    

    【讨论】:

    • 注意:未定义索引:C:\xampp\htdocs\index.php 中的性别第 54 行第 54 行:$gender = $_POST['gender'];下拉菜单没有改变。
    • 修复了未定义的索引,但下拉框仍然没有改变。
    • 尝试打印 $_POST['gender']。如果具有价值:“男性”或“女性”,它应该可以工作。
    • 没什么区别。
    【解决方案3】:

    在你的 php 文件的顶部写下这一行你不会得到 注意:未定义的索引:性别

    <?php
    error_reporting(0);
    ?>
    

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多