不要提交 for 使用之前提交函数

  • 本文关键字:提交 前提 函数 for jqgrid
  • 更新时间 :
  • 英文 :


我在编辑选项中有一个beforeSubmit函数。函数的代码如下

beforeSubmit: function (postdata, formid) {
    var myGrid = $('#list'),
    selRowId = myGrid.jqGrid('getGridParam', 'selrow'),
    IsIssued = myGrid.jqGrid('getCell', selRowId, 'Status');
    alert(IsIssued);
    if (IsIssued == true)
        return [false,"lll"];
    else
        return [true,"ll"];
}

但问题是这总是提交表格。我想要的是, if (IsIssued==true)不提交表单,则返回错误。还提交表单。我成功获得了IsIssued的确切值。

最好的解决方案是在按下按钮捕获点击事件并阻止默认操作时,然后在您的成功条件下,提交表单:说

$('#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];
}

最新更新