单击菜单时未隐藏输入

时间:2013-04-07 19:01:21

标签: php jquery html smarty

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

这是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();            
        }
    }

1 个答案:

答案 0 :(得分: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();
   });
});

这将触发表单的提交。