beforeSubmit事件未添加到jqgrid-4.5.2

我使用jqgrid 4.5.2版本与Jquery-3.2.1。 无法将beforeSubmit函数绑定到jqgrid。

下面是绑定事件的示例代码。

var config = {}; config.beforeSubmit = function(grid, postData, formid, frmoper){ .... } if (config.beforeSubmit) { this.grid.off('jqGridAddEditBeforeSubmit').on("jqGridAddEditBeforeSubmit", config.beforeSubmit); } 

如果有人可以帮助我,我将感激不尽。

下面是关于如何在我的应用程序中添加beforeSubmit事件的简要说明

在我的例子中,我们用DataGrid.js文件覆盖jqgrid库。 在这里,我有一个名为DataGrid.buildGrid = function(configXml,params,cb)的函数,它在运行时被调用并动态构建网格。 此函数在内部调用generateGrid()。

 DataGrid.buildGrid = function(configXml, params, cb) { .... .... var myGrid = new DataGrid(jqConfig, params); myGrid.generateGrid(); } 

下面是示例generateGrid()代码:

 DataGrid.prototype.generateGrid = function() { ... var jqConfig = DataGrid.getJqConfig(form, params, cb); ... this.bindConfigEvents(); } 

在getJqConfig()中,我们将beforeSubmit事件添加到jqConfig对象

 DataGrid.getJqConfig = function(form, options, cb) { var jqConfig = {}; .... .... config.beforeSubmit = function(grid, postData, formid, frmoper){ .... } 

在bindConfigEvents()函数中,我们绑定了beforeSubmit

 DataGrid.prototype.bindConfigEvents = function() { ... ... if (this.jqConfig.beforeSubmit) { this.grid.off('jqGridAddEditBeforeSubmit').on("jqGridAddEditBeforeSubmit", this.jqConfig.beforeSubmit); } }