Php 将从引导下拉菜单中选择的内容提交到$\u POST

Php 将从引导下拉菜单中选择的内容提交到$\u POST,php,forms,twitter-bootstrap,post,drop-down-menu,Php,Forms,Twitter Bootstrap,Post,Drop Down Menu,我的目标是将用户选择从引导下拉菜单提交到$\u POST。当我研究这个问题时,我遇到了这个() 我的问题和这个很相似。然而,当我尝试回答这个问题时,由于几个原因,它对我不起作用 我的代码 <div class="navbar navbar-inverse navbar-static-top"> <div class="container"> <a href="index.php" class = "navbar-brand">P

我的目标是将用户选择从引导下拉菜单提交到$\u POST。当我研究这个问题时,我遇到了这个() 我的问题和这个很相似。然而,当我尝试回答这个问题时,由于几个原因,它对我不起作用

我的代码

    <div class="navbar navbar-inverse navbar-static-top">
    <div class="container">
        <a href="index.php" class = "navbar-brand">Programming Cards</a>

        <!--Creats button for navigation when window gets too small-->
        <button class = "navbar-toggle" data-toggle = "collapse" data-target= ".navHeaderCollapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>

        <div class="collapse navbar-collapse navHeaderCollapse">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="upload.php">Upload</a></li>
                <li>
                    <form action="index.php" method="POST" id="my_form">
                        <input type="hidden" name="topic" id="topic">

                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Topic Select<b class="caret"></b>
                                <ul class="dropdown-menu">
                                    <li>Introduction</li>
                                    <li>Methods</li>
                                    <li>Loops</li>
                                    <li>Conditional Logic</li>
                                </ul>
                            </a>
                        </li>
                    </form>

                    <script>
                    $(function() 
                    {
                        $('.dropdown-menu li').click(function()
                        {
                            $('#my_topic').val($(this).html());
                            $('#my_form').submit();
                        });
                    });
                    </script>
                </li>
            </ul>
        </div>
    </div>
</div>

  • $(函数() { $('.下拉菜单li')。单击(函数() { $('#my_topic').val($(this.html()); $(“#我的表格”).submit(); }); });
不起作用的代码方面

  • 当li嵌套在表单元素中时,下拉菜单的格式将更改。我希望下拉列表是一个表单,但我希望它看起来像默认的引导下拉列表

  • 将onclick事件处理程序附加到li元素根本不起作用。即使在单击li之后,PHP也不会检测到$\u POST['topic'的任何值

  • 目标摘要

    我想要默认的引导下拉菜单。我希望用户能够点击下拉菜单中的任何项目。单击后,应将所选内容添加到索引“topic”处的$\u POST数组中

    <form action="index.php" method="POST" id="my_form">
    <input type="hidden" name="topic" id="topic">
    
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Topic Select<b class="caret"></b>
                <ul class="dropdown-menu">
                    <li>Introduction</li>
                    <li>Methods</li>
                    <li>Loops</li>
                    <li></li>
                </ul>
            </a>
        </li>
    </form>
    
    <script>
    $(function() 
    {
        $('.dropdown-menu li').click(function()
        {
            $('#my_topic').val($(this).html());
            $('#my_form').submit();
        });
    });
    </script>
    
    
    
  • $(函数() { $('.下拉菜单li')。单击(函数() { $('#my_topic').val($(this.html()); $(“#我的表格”).submit(); }); });
    如果要发送所有导航栏,请删除名为“主题”的隐藏字段并使用下一个脚本

    <script>
    $(function() 
    {
        $('.dropdown-menu li').click(function()
        {
            $('.dropdown-menu li').each(function()
            {
                $('#my_form').append('<input type="hidden" name="topic[]" value="'+$(this).html()+'">');
            });
    
            $('#my_form').submit();
        });
    });
    </script>
    
    
    $(函数()
    {
    $('.下拉菜单li')。单击(函数()
    {
    $('.下拉菜单li')。每个(函数()
    {
    $(“#我的表格”)。附加(“”);
    });
    $(“#我的表格”).submit();
    });
    });
    
    试试这个

    <form action="index.php" method="POST" id="my_form">
    <input type="hidden" name="topic" id="topic">
    
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Topic Select<b class="caret"></b>
                <ul class="dropdown-menu">
                    <li>Introduction</li>
                    <li>Methods</li>
                    <li>Loops</li>
                    <li></li>
                </ul>
            </a>
        </li>
    </form>
    
    <script>
    $(function() 
    {
        $('.dropdown-menu li').click(function()
        {
            $('#my_topic').val($(this).html());
            $('#my_form').submit();
        });
    });
    </script>
    
    
    
  • $(函数() { $('.下拉菜单li')。单击(函数() { $('#my_topic').val($(this.html()); $(“#我的表格”).submit(); }); });
    如果要发送所有导航栏,请删除名为“主题”的隐藏字段并使用下一个脚本

    <script>
    $(function() 
    {
        $('.dropdown-menu li').click(function()
        {
            $('.dropdown-menu li').each(function()
            {
                $('#my_form').append('<input type="hidden" name="topic[]" value="'+$(this).html()+'">');
            });
    
            $('#my_form').submit();
        });
    });
    </script>
    
    
    $(函数()
    {
    $('.下拉菜单li')。单击(函数()
    {
    $('.下拉菜单li')。每个(函数()
    {
    $(“#我的表格”)。附加(“”);
    });
    $(“#我的表格”).submit();
    });
    });
    
    您的
    单击()代码中有语法错误。最后你错过了两个分号

          $(function() 
                    {
                        $('.dropdown-menu li').click(function()
                        {
                            $('#my_topic').val($(this).html());
                            $('#my_form').submit();
                        }); // <-- need a semi-colon here.
                    }); // <-- and here.
    

    请检查此项。

    您的
    click()
    代码中存在语法错误。最后你错过了两个分号

          $(function() 
                    {
                        $('.dropdown-menu li').click(function()
                        {
                            $('#my_topic').val($(this).html());
                            $('#my_form').submit();
                        }); // <-- need a semi-colon here.
                    }); // <-- and here.
    

    还有,请检查此项。

    谢谢您的帮助,但当我尝试此项时,我最终遇到了与前面方法相同的错误集。我将发布我的整个导航栏,看看这是否有帮助。@dmitry.Net:Dima,超级+1感谢您的帮助,但当我尝试此方法时,我最终遇到了与前一种方法相同的错误集。我将发布我的整个导航栏,看看这是否有帮助。@dmitry.Net:Dima,超级+1我将努力创建一个。我以前从未做过,所以我可能需要一段时间才能弄清楚如何做。我将努力创建一个。我以前从未做过,所以我可能需要一段时间才能弄明白怎么做。谢谢你的帮助。对不起,我犯了个愚蠢的错误。事实上,我修正了这个问题,仍然没有什么不同。我会确保编辑这个问题,这样其他观众就不会感到困惑。@user3108671我想您应该使用jquery来完成这个任务。我已经指出了一些你应该在更新中解决的问题,并为这个问题链接了一个DemoHanks。对不起,我犯了个愚蠢的错误。事实上,我修正了这个问题,仍然没有什么不同。我会确保编辑这个问题,这样其他观众就不会感到困惑。@user3108671我想您应该使用jquery来完成这个任务。我已经指出了一些您应该在更新中修复的事情,并链接了一个演示