jqgrid addRow saveRow beforeSend

我有一个jqGrid,我正在添加一个用户可以编辑的新行。 他们有一个按钮来保存新行。 我需要在发送之前到达ajax,以便在调用中添加一些安全性。 这与网格的其他几种情况有关,但不是这个。 不知道发生了什么。

这是我添加新行的方式:

jQuery("#myTable").jqGrid('addRow',{ rowID : "new_row", initdata : {}, position :"first", useDefValues : false, useFormatter : false, addRowParams : {extraparam:{}}); 

这是我的保存按钮执行的代码:

  jQuery("#myTable").jqGrid('saveRow',"new_row", { "url": "{{path('recording_create')}}", "mtype": "POST", "succesfunc": function(response) { return true; } }); 

我尝试了这个,但是,它没有被解雇。 我以为在保存行时会调用它:

 $.extend($.jgrid.defaults, { ajaxRowOptions: { beforeSend: function () { alert('Before Row Send'); // not called } }, } ); 

我也试过这个,但是,我认为这只是在表单编辑上调用的?

  $.extend($.jgrid.edit, { ajaxEditOptions: { beforeSend: function (jqXHR, settings) { alert('Before Row Send'); // not called }}}); 

有什么想法吗?

谢谢,斯科特

你可以尝试使用

 $.extend($.jgrid.inlineEdit, { ajaxRowOptions: { beforeSend: function (jqXHR, settings) { alert('Before Row Send'); } } }); 

我希望它能奏效。

更新 :抱歉,但代码正确

 $.extend($.jgrid.defaults, { ajaxRowOptions: { beforeSend: function () { alert('Before Row Send'); } } }); 

您已经包含在问题的文本中。 它应该工作。 重要的只是validation创建网格之前将执行代码。

奥列格,谢谢你的想法。 但是,这不起作用。 但是,以下工作正常:

  $.ajaxSetup({ beforeSend: function (jqXHR, settings) { alert('Before Row Send'); }}); 

但问题是,你怎么知道你可以延伸到上面的方式?

谢谢,斯科特