doudao2954 2014-11-19 16:18
浏览 85
已采纳

如果在HTML PHP中选择下拉列表,则添加并获取另一个新文本框

Current code snippets

HTML

<form action="" method="post">
<select name="Particulars">
<option value="Username">Username</option>
<option value="Email">Email</option>
<option value="Address">Address</option>
</select>
<input type="submit" name="submit" value="Get Selected Values" />
</form>

PHP

<?php
if(isset($_POST['submit'])){
$selected_val = $_POST['Particulars'];  // Storing Selected Value In Variable
echo $selected_val;  // Displaying Selected Value
}

So for example, if i select Username, i will want another new text box to come out so I can type in value inside and submit, is there any way I can do it? Currently I am only able to echo out the value, but not a brand new text box. Sorry, english is not my first language, Thank you so much! :)

I will keep updating and showing what I've done here.

  • 写回答

2条回答 默认 最新

  • doog1092 2014-11-19 16:32
    关注

    I suggest you to use JS.

    In HTML

    <form action="test.php" method="post">
        <select name="Particulars">
            <option value="Username">Username</option>
            <option value="Email">Email</option>
            <option value="Address">Address</option>
        </select>
        <!--UserName TextField-->
        <input name="username" type="text" style="display: none">
        <input type="submit" name="submit" value="Get Selected Values" />
    </form>
    

    Suggested JS

    //jQuery
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
    
    <script type="text/javascript">
    //To show if default option Username is selected
    $(document).ready(function(){
        if($('select[name=Particulars]').val() == "Username"){
            $('input[name=username]').show();
        }
    });
    
    //With changing dropdownlist, if Username is selected then text field will appear.
    $('select[name=Particulars]').on('change', function(){
        if($(this).val() == "Username"){
            $('input[name=username]').show();
        }else {
            $('input[name=username]').hide().val('');
        }
    });
    </script>
    

    In test.php

    if(isset($_POST['submit'])){
        $selected_val = $_POST['Particulars'];  // Storing Selected Value In Variable
        echo $selected_val;  // Displaying Selected Value
    
        if(isset($_POST['username'])){ //Added
            echo "User Nmae: " . $_POST['username'];
        }
    }
    

    Hope it will help you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值