在输入标记中的<form action =“”>属性中运行JS

时间:2016-09-07 07:08:06

标签: javascript php jquery

我正在尝试实施RBAC(基于用户权限,他们只能访问某些功能)。在这里,我有一个包含多个选项的菜单页面。

当用户点击图标时,我想通过调用 check_rights.php 来检查用户是否具有必要的权限。根据true和false的返回值,我会将用户重定向到适当的页面。

如果用户没有权限,我会尝试显示弹出窗口; myalert();带有消息,理想情况下在同一/当前页面上没有任何刷新。

我一直在尝试不同的变化而没有任何运气。以下是我最近的“跛脚”尝试。

欢迎任何关于如何实现此类功能的建议。

check_rights()是一个php函数 myalert()是一个js函数

  <form action="">    

    <input  type="submit" formaction= "javascript:check_rights(maintenance); ? &quot/crm/maintenance/maintenance_menu.php&quot;:&quot;myalert()&quot;"  data-inline ="true" data-iconpos="" data-icon="maintenance" />
    <input  type="submit" formaction="/crm/maintenance/hr_menu.php"  data-inline ="true" data-iconpos="" data-icon="humanresources" />
    <input  type="submit" formaction="/crm/maintenance/inventory_menu.php"  data-inline ="true" data-iconpos="" data-icon="inventory" />
    <input  type="submit" formaction="/crm/maintenance/purchase_menu.php"  data-inline ="true" data-iconpos="" data-icon="purchase" />
    <input  type="submit" formaction="/crm/maintenance/sales_menu.php"  data-inline ="true" data-iconpos="" data-icon="sales" />

</form> 

1 个答案:

答案 0 :(得分:0)

你可以使用ajax。这意味着您可以向后端(php)发出请求,询问check_rights();,然后获得响应。但是,什么 你试过用php非常接近。看看这个

<input type="submit" formaction= "<?php echo (check_rights("maintenance"))? '&quot/crm/maintenance/maintenance_menu.php' :  '&quot;:&quot;myale‌​rt()&quot;' ;?> " data-inline ="true" data-iconpos="" data-icon="maintenance" />'

...这假设check_rights返回布尔值或0/1。