beforeSubmit事件未添加到jqgrid-4.5.2

时间:2017-09-14 06:23:42

标签: jquery jqgrid

我正在使用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);
  }
}

0 个答案:

没有答案