Javascript 如何在保留权限的同时禁用/启用空/满输入按钮

Javascript 如何在保留权限的同时禁用/启用空/满输入按钮,javascript,jquery,html,django,django-permissions,Javascript,Jquery,Html,Django,Django Permissions,因此,我知道当同一表单中的输入为空/满时,如何禁用/启用按钮 但假设我首先应用了后端权限并禁用了一些按钮。当没有权限的人在输入中写入时,如何确保它们未重新启用 理论上,我也可以基于权限禁用所有输入,但您能提出更好的解决方案吗 django模板中的示例: <button type="submit" class="btn btn-default" id="my_button" {% if not can_post %}disabled{% endif %}>

因此,我知道当同一表单中的输入为空/满时,如何禁用/启用按钮

但假设我首先应用了后端权限并禁用了一些按钮。当没有权限的人在输入中写入时,如何确保它们未重新启用

理论上,我也可以基于权限禁用所有输入,但您能提出更好的解决方案吗

django模板中的示例:

    <button type="submit" class="btn btn-default" id="my_button"
            {% if not can_post %}disabled{% endif %}>Apply
    </button>

根据您的项目设置,您可以通过多种方式执行此操作

如果您使用的是轻javascript,没有进行广泛的表单UI修改,那么只需在按钮中插入一个定义初始权限的data has perm=0,然后在启用脚本上添加一个权限检查,然后再重新启用按钮

但是,如果您进行了广泛的表单UI修改,我想最好的方法是为所有按钮创建状态对象,例如:

var buttons = {
    '#b1': {'initPerm': 0},
    // in your templates file simply do '#b1': {'initPerm': {% if not can_post %}0{% else %}1{% endif %}' 
}  
您将拥有一个包含所有预定义按钮状态的对象,然后在重新启用方法中检查它


在这两种情况下,千万不要忘记检查提交的表单在视图或表单上的用户权限。

问题并不清楚,一般情况下,您只需显示具有正确权限的UI显示/隐藏w/e元素…,然后在提交时在视图/表单级别进行验证。@HassenPy我不想隐藏UI,我想在权限上禁用它,因此,如果有人有权读取而不是写入,就可以看到元素,刚才提到的显示/隐藏是相对于用户权限的操作示例,现在我重新阅读了您的文章,您可以通过多种方式执行此操作,这取决于您的项目设置,如果您使用的是无框架的轻型javascript,您只需在按钮中插入一个属性,如data的perm=0,然后在启用脚本中添加一个权限数据检查。添加另一个属性来定义权限,好主意!你可以写信回答,我会接受的;