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); } }