Javascript jqGrid编辑最后一行时,客户端验证模式未正确放置

Javascript jqGrid编辑最后一行时,客户端验证模式未正确放置,javascript,jquery,jquery-ui,jqgrid,Javascript,Jquery,Jquery Ui,Jqgrid,我们正在使用jqGrid免费版本4.12.0,启用它的客户端验证并使列可编辑 { label: 'amount' , name: 'amount', width: 150, editable: true, editrules :{ number: true, required: true} }, 请看 当我们试图编辑第一行(例如第2行)并输入一个字符串而不是数字时,单元格下方将显示一个模式,该模式显示为((请输入有效数字) 然而,当我们滚动网格完成并编辑第11行时,模式警报显示在网格下方

我们正在使用jqGrid免费版本4.12.0,启用它的客户端验证并使列可编辑

{ label: 'amount' , name: 'amount', width: 150, 
  editable: true, editrules :{ number: true, required: true} },
请看

当我们试图编辑第一行(例如第2行)并输入一个字符串而不是数字时,单元格下方将显示一个模式,该模式显示为
((请输入有效数字)

然而,当我们滚动网格完成并编辑第11行时,模式警报显示在网格下方很远的地方


我们怎么能修好它

感谢您报告此问题!这是免费jqGrid中的错误。我把它修好了。您可以在使用GitHub的源代码的演示中验证它

请不要使用旧版本的jqGrid和免费的jqGrid。版本4.12.0已经很旧了(差不多有一年了)。应该使用GitHub的4.13.4或更高版本。如果您发现任何bug,我将仅在最新版本中修复它。只有当你现在不能更新免费jqGrid的代码时,你才能使用修复程序

$.extend($.jgrid, {
    findPos: function (obj) {
        var coordinates = $(obj).offset();
        return [coordinates.left, coordinates.top];
    }
});
仅作为临时解决方案。看


更新:我在免费jqGrid的代码中发布了更多的更改,以修复中报告的问题。修改后的演示并使用最新的免费jqGrid代码。

重新检查了jsfiddleI中未触发的验证,它成功了。您是否尝试在数量中插入字符?这将触发验证!亲爱的Oleg,该更新适用于Firefox,但不适用于IE和chrom。在添加行弹出窗口时,我也看到了这个错误。我制造了一个问题。再次感谢:)@AlirezaFattahi:我发布了问题的解决方案,您已经报告了。请参阅我答案的更新部分。