我有一个jqGrid,它使用内置删除功能在我的控制器中调用删除操作。
如果验证函数返回false,我想取消删除事件并停止在控制器中调用我的操作。
我尝试在onClickSubmit
中返回false,但仍然会调用我的操作。
以下是我的jqGrid的formatOptions
代码。在调用控制器操作之前调用onClickSubmit
函数。
formatoptions: {
keys: true,
editbutton: false,
editformbutton: false,
delOptions: {
url: $(URL).val(),
caption: 'Delete',
width: 'auto',
msg: 'Are you sure you want to delete these record(s)?',
bSubmit: "Delete",
bCancel: "Cancel",
mtype: 'POST',
onclickSubmit: function (response, postdata, formid) {
return false;
}
}
}
答案 0 :(得分:3)
如果您需要取消删除,则必须使用beforeSubmit
回调而不是onclickSubmit
。回调beforeSubmit
应该返回带有两个元素的数组。第一个元素应为布尔true
或false
,其中false
表示停止删除。第二个元素应该是带有错误描述的字符串。如果第一个元素是false
,它应该存在。例如,
formatoptions: {
keys: true,
editbutton: false,
editformbutton: false,
delOptions: {
url: $(URL).val(),
caption: 'Delete',
width: 'auto',
msg: 'Are you sure you want to delete these record(s)?',
bSubmit: "Delete",
bCancel: "Cancel",
mtype: 'POST',
beforeSubmit: function (postdata) {
if (/* come test of postdata*/) {
return [false, "One can't delete the row"];
}
return [true]; // allow to delete
}
}
}