jqGrid在保存前验证数据,在esc之前按enter键确认

jqGrid在保存前验证数据,在esc之前按enter键确认,jqgrid,Jqgrid,我试图在网格中使用内联编辑,保存/编辑/取消/删除按钮是自定义的,我为保存前需要调用的每个列提供了几个验证函数,我正在创建一个函数,该函数将在按行上的enter键时调用,然而,即使我在successfunc中返回false,我似乎也无法阻止它保存 $grid.editRow(id,{ keys : true, successfunc : function(data){ saveData(data); return [false,""];

我试图在网格中使用内联编辑,保存/编辑/取消/删除按钮是自定义的,我为保存前需要调用的每个列提供了几个验证函数,我正在创建一个函数,该函数将在按行上的enter键时调用,然而,即使我在successfunc中返回false,我似乎也无法阻止它保存

$grid.editRow(id,{
    keys : true,
    successfunc : function(data){
        saveData(data);
        return [false,""];       
    }
});

PS:editrules在每个列上定义对我没有帮助,因为我希望我的验证只在save时调用

在这种情况下,我认为您的验证有点晚了

发件人:

succesfunc:如果已定义,则在请求成功后立即调用此函数。将从服务器返回的数据传递给此函数。取决于来自服务器的数据;此函数应返回true或false


在进行保存之前是否要进行验证?

这正是我要尝试的,我只选择了successfunc,因为我不知道以前调用过任何其他函数,我不确定是否可以在extraparams中设置验证函数我似乎找不到一个我感到困惑的示例,如果您有自己的自定义按钮,你不能在你转到服务器之前在那里挂上你的验证吗?我已经挂了,很好用。现在,我尝试在按行上的Enter键时进行验证。据您所知,除了在tr上设置一个键控事件外,还有其他方法吗?您是否考虑过将验证集成到jqGrid中,通过jqGrid在enter上进行验证。除此之外,您还可以进入Ajax事件,但我认为您正在使自己在那里工作,因此在此之后绑定到行上的enter键。也许最好的方法是将验证构建到jqGrid中。我将使用keys:false并在tr[editable=1]上添加keydown事件,这是我认为最简单的方法。谢谢你的帮助