Jqgrid 请勿提交以使用beforeSubmit功能

Jqgrid 请勿提交以使用beforeSubmit功能,jqgrid,Jqgrid,我在编辑选项中有一个“提交前功能”。函数的代码如下所示 提交前:函数(postdata,formid){ var myGrid=$(“#列表”), selRowId=myGrid.jqGrid('getGridParam','selrow'), IsIssued=myGrid.jqGrid('getCell',selRowId',Status'); 警报(已发出); 如果(IsIssued==true) 返回[假,“lll”]; 其他的 返回[true,“ll”]; } 但问题是它总是提交表单

我在编辑选项中有一个“提交前<代码>功能”。函数的代码如下所示

提交前:函数(postdata,formid){
var myGrid=$(“#列表”),
selRowId=myGrid.jqGrid('getGridParam','selrow'),
IsIssued=myGrid.jqGrid('getCell',selRowId',Status');
警报(已发出);
如果(IsIssued==true)
返回[假,“lll”];
其他的
返回[true,“ll”];
}
但问题是它总是提交表单。我想要的是,
如果(IsIssued==true)
则不要提交表单并返回错误。 其他的 提交表格。
我正在获得成功发布的
的确切值。

最佳解决方案是按下按钮捕获单击事件并阻止默认操作,然后在成功的情况下,提交表单:Say

$('#yourButton').click(function(event)){
     event.preventDefault();
         //$.ajax({
             beforeSubmit: function (postdata, formid){
                var myGrid = $('#list'),
                selRowId = myGrid.jqGrid('getGridParam', 'selrow'),
                IsIssued = myGrid.jqGrid('getCell', selRowId, 'Status');
                alert(IsIssued);
                if (IsIssued == true)
                    $('yourForm').submit();
                    return [false,"lll"];
                else
                   //Else you already prevented default action
                   return [true,"ll"];
           }
        //)};
     });

我使用了afterShowForm函数并隐藏了EditForm

afterShowForm: function ()
{
var myGrid = $('#list'),
selRowId = myGrid.jqGrid('getGridParam', 'selrow'),
IsIssued = myGrid.jqGrid('getCell', selRowId, 'Status');
if (IsIssued == 'true') {

$.jgrid.hideModal("#editmodlist");
alert("This Book Is Already Issued");
return [true];
 }
else {
return [true];
}
return [true];
}

我不发送任何ajax请求,然后删除ajax行,并捕获上述事件的其余部分!只捕捉点击事件,它应该适合你!在表单的操作方法中添加returnfalse!另外,如果要阻止表单提交,请不要使用按钮类型提交,然后捕获事件。!我觉得很奇怪,你用
getCell
来验证表单是否可以提交。该值在开始编辑之前已知。为什么用户可以编辑这样的行,但不允许提交更改?可能您应该拒绝编辑这些行,或者您应该从
postdata
获取
Status
的新值?