Jquery jqgrid addRow saveRow发送前
我有一个jqGrid,我正在添加一个新行,用户可以编辑它。他们有一个按钮来保存新行。我需要在发送之前访问ajax,以便在调用中添加一些安全性。这在网格的其他几个场景中都是有效的,但是,这一个没有。不知道发生了什么事 下面是我添加新行的方式:Jquery jqgrid addRow saveRow发送前,jquery,ajax,jqgrid,jqgrid-inlinenav,Jquery,Ajax,Jqgrid,Jqgrid Inlinenav,我有一个jqGrid,我正在添加一个新行,用户可以编辑它。他们有一个按钮来保存新行。我需要在发送之前访问ajax,以便在调用中添加一些安全性。这在网格的其他几个场景中都是有效的,但是,这一个没有。不知道发生了什么事 下面是我添加新行的方式: jQuery("#myTable").jqGrid('addRow',{ rowID : "new_row", initdata : {}, position :"first", useDefValues
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');
}
}
});
你的问题已经包含在文本中了。它应该会起作用。只有在创建网格之前验证代码是否会被执行才很重要。Oleg,
谢谢你的主意。但是,这并没有起作用。但是,以下方法确实有效:
$.ajaxSetup({
beforeSend: function (jqXHR, settings) {
alert('Before Row Send');
}});
问题是,你如何知道什么可以像上面所说的那样扩展
谢谢,
Scott@ScottV:I测试代码
$.extend($.jgrid.defaults,{ajaxRowOptions:{beforeSend:function(){alert('Before Row Send');}})代码>做工作。内联编辑代码使用jqGrid的ajaxRowOptions
参数$t.p.ajaxRowOptions
。可以通过$.extend($.jgrid.defaults,{ajaxRowOptions:{…})设置它代码>确定。如果我将其设置为网格参数,比如ajaxRowOptions:{contentType:“application/json”},ajaxRowOptions:{contentType:“application/json”,beforeSend:function(){debugger;alert('Before Row Send');},它起作用了。但是,如果我像你说的那样尝试扩展,它就不起作用了。无论哪种方式,解决方案都是使用ajaxRowOptions@ScottV:可能是在调用$.extend($.jgrid.defaults,…)之前创建了网格代码>?我不明白为什么应该忽略$.jgrid.defaults
的设置。@ScottV:好的!然后一切都会清楚的。我的回答中包含了“更新”部分,仅供其他读者阅读。