web2py - Web2py:如何将参数从视图传递到控制器以从数据库中删除记录
问题描述
我有一张桌子,每一行都有一个“删除”按钮。我想要做的是通过该按钮的 onclick 函数将行 ID 传递给控制器上的“删除”函数。
我的控制器
def studentDelete():
rec_id = request.args(0)
crud.delete(db.student, rec_id,next=URL('Home','Students_List'))
我的视图(当我单击按钮时,显示一个模式以帮助用户确认或取消删除操作。如果用户决定删除记录,#warning 是模式中接受按钮的 ID。)
<div class='btn-group btn-group-justified JpositionA'><a class='btn btn-warning Jview btn-xs opciones'><span class='glyphicon glyphicon-remove'></span></a></div>;
<script>
$(document).on('click', '.opciones', function(e){
e.preventDefault();
btn = $(this);
var tr = $(this).closest('tr');
var row = tabla.row( tr );
var datos=row.data();
var id_record=datos.student.id;
$('#myModal').modal('show')
.one('click', '#warning', function(e) {
ajax('{{=URL('Tools', 'studentDelete')}}' + '?value=' + id_record);
});
});
});
</script>
解决方案
Javascript 代码将查询字符串中的记录 ID 作为变量发送到服务器value
,但 Python 代码需要request.args
. 您可以简单地将 Python 代码更改为:
rec_id = request.get_vars.value
推荐阅读
- css - Bootstrap - 屏幕调整大小的断点不会触发列调整大小
- google-sheets - 使用 google sheet 中的 arrayformula 为每个唯一值的行数
- .net-core - Scaffold-DbContext - 如何防止它添加几个相同的列,例如 ID、CreatedDate、CreatedBy 等
- c# - 如何在 Unity 编辑器中使用 ExecuteEvents 停止 OnSceneGUI 滑块拖动事件?
- php - Laravel 6:此路由不支持 GET 方法。支持的方法:POST 错误
- python - 如何在 xlwings 中使用 Replace 方法
- git - 恢复未提交的更改
- r - 如何在 R 的 substr 函数中嵌套 If 语句
- tensorflow.js - 睡眠后可以避免“WebGL:CONTEXT_LOST_WEBGL:looseContext:上下文丢失”吗
- postgresql - SequelizeForeignKeyConstraintError: insert or update on table ... 违反外键约束 \..._id_fkey\"