0

我的页面顶部有一个使用 UL LI 标签构建的菜单。我有一个使用 JQuery 事件链接到菜单的隐藏输入标签。单击后,可以在 console.log 中看到选项,但不会发布到 PHP 脚本。我在这里需要帮助,有人能把我引向正确的方向吗

这是HTML

<form name="mainmenu" id="mainmenu" action="index.php" method="post">
    <div id='content'>
       <div id='jqxMenu'>
            <ul>
                <li>Maintanence
                    <ul style='width: 180px;'>
                        <li><a href="#" data-val="addCategory">Add Category</a></li>
                        <li><a href="#" data-val="addSubCategory">Add Sub-category</a></li>
                    </ul>
                </li>
                <li>Process Order
                    <ul style='width: 180px;'>
                        <li><a href="#" data-val="addShipOrder">Ship Order</a></li>
                        <li><a href="#" data-val="addChangeOrder">Change Order Status</a></li>
                    </ul>
                </li>
                <li>Reports
                    <ul style='width: 180x;'>
                        <li><a href="#" data-val="addOrderStation">Orders by station</a></li>
                        <li><a href="#" data-val="addOrderDate">Orders by date</a></li>
                        <li><a href="#" data-val="addPendingOrder">Pending Orders</a></li>
                    </ul>
                </li>
                <li><a href="#" data-val="Logout">Logout</a></li>
            </ul>
        </div>
        <div><input id="menuoption" type="hidden" name="menuoption"></div>
   </div>
</form> 

这是jQuery

    $(document).ready(function ($) {
          $('#jqxMenu a').on('click', function() {
           $('#menuoption').val($(this).data('val'));
       });
    });

这是PHP脚本

    if (isset($_POST['menu_index']))
    {
        if ($_POST['menu_index'] == 'Logout')
        {
            $smarty->display("login.tpl");  
            exit();            
        }
    }
4

1 回答 1

0

我认为您在 PHP 脚本中使用了错误的输入名称。您确定要查找 $_POST["menu_index"] 而不是 $_POST["menuoption"]?

如果 PHP 脚本中的索引正确,请尝试转储 $_POST 并检查其中的值。

var_dump($_POST);

你会很容易看到你有什么和你没有什么

编辑:您没有提交表格

尝试像这样编辑您的 jQuery 代码

$(document).ready(function ($) {
      $('#jqxMenu a').on('click', function() {
       $('#menuoption').val($(this).data('val'));
       $('#mainmenu').submit();
   });
});

这将触发表单的提交。

于 2013-04-07T19:09:31.517 回答