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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题