如果在按 jqgrid 中的保存操作按钮返回错误,如何保持内联添加
How to keep inline add if error is returned on pressing save action button in jqgrid
jgGrid在工具栏中包含内联添加按钮,在操作列中包含保存操作按钮。使用远程 JSON 数据。如果按下保存操作按钮终止内联添加并且服务器返回错误,添加的行将从网格中删除,输入的行数据将丢失。我添加了恢复之后错误:假到格式选项和内联添加按钮,如下面的代码所示,但如果按下保存操作按钮,这些设置将被忽略。
如何将行保持在内联添加模式,以便在按下保存操作按钮时可以在错误后继续编辑?
colModel: [ {
name:"_actions",
formatter:"actions",
formatoptions:{
editbutton:true,
keys:true,
// this is ignored if action column save button is pressed:
restoreAfterError:false,
delbutton:true
}
} , ...
],
editurl: '/Grid/Edit',
datatype: "json",
使用以下方法添加内联添加按钮:
$grid.jqGrid('inlineNav', '#grid_toppager', {
addParams: {
position: "beforeSelected",
rowID: '_empty',
useDefValues: true,
addRowParams: {
keys: true,
// this is ignored if action column save button is pressed:
restoreAfterError: false,
}
},
editParams: {
keys: true,
// this is ignored if action column save button is pressed:
restoreAfterError: false,
},
add: true,
edit: false,
save: true,
cancel: true
});
我在addParams.addRowParams
或editParams
内部测试了restoreAfterError: false
设置,效果很好。如果出现错误,在我的自定义errorfunc
显示错误消息后,编辑(或新添加的行(将保持编辑模式。我想你只有在使用formatter: 'actions'
的情况下才有问题.
如果您使用该formatter: 'actions'
则无法直接定义restoreAfterError
(至少在当前的 jqGrid 版本 3.4.1 中(。所以我建议你将restoreAfterError
的默认值更改为false
:
$.extend($.jgrid.inlineEdit, {
restoreAfterError: false
});
此外,我建议您从addRowParams
或editParams
中删除尾随逗号(如此处restoreAfterError: false,}
(。许多(但不是全部(Web 浏览器会忽略尾随逗号,但仍然存在错误。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- NaN错误和数字保持不变
- 保持花哨的盒子打开ajax错误
- 蓝鸟(或其他承诺库)保持承诺错误堆栈跟踪
- 如果输入错误,将文本输入保持为只读状态4秒
- 如果在按 jqgrid 中的保存操作按钮返回错误,如何保持内联添加
- LearnYouNode:回调错误保持为True
- 简单的骨干应用程序保持通过错误
- 如果我保持这些脚本代码在html文件没有错误发生,但如果我保持在另一个单独的脚本文件,是的,错误发生
- 成功和错误同时运行,而不是显示错误消息并保持填充字段
- 吞下我可观察到的错误并返回缓存值——所有这些都可以保持订阅的活力
- 显示:块错误-保持闪烁
- JS var 声明 - 由于变量保持相同值的函数问题而导致错误的验证
- React.js控制鼠标移动事件保持抛出event.persist()错误
- 如果表单中出现错误,则在提交表单时对话框应该保持打开状态