我在使用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();
}
}
答案 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();
});
});
这将触发表单的提交。