Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我输入保存时,防止在单元格编辑上进行两次保存调用_Javascript_Jquery_Jqgrid_Free Jqgrid - Fatal编程技术网

Javascript 当我输入保存时,防止在单元格编辑上进行两次保存调用

Javascript 当我输入保存时,防止在单元格编辑上进行两次保存调用,javascript,jquery,jqgrid,free-jqgrid,Javascript,Jquery,Jqgrid,Free Jqgrid,两次调用jqgrid中的save cell url(一次调用enter,这是jqgrid的默认行为),另一次调用customsave on focusout 当我输入save时,我需要在cell edit上防止两个save调用 column.editoptions.dataEvents=[{ 类型:'keyup focusout', fn:功能(e){ var isValidate=validateGridMail($(this.val()); EmailValidationMessage(is

两次调用jqgrid中的save cell url(一次调用enter,这是jqgrid的默认行为),另一次调用customsave on focusout

当我输入save时,我需要在cell edit上防止两个save调用

column.editoptions.dataEvents=[{
类型:'keyup focusout',
fn:功能(e){
var isValidate=validateGridMail($(this.val());
EmailValidationMessage(isValidate);
如果(e.type==“focusout”&&isValidate&&globalVar.irow!=null&&globalVar.icol!=null){
$(“#GridEditConfiguration”).saveCell(globalVar.irow,globalVar.icol);
globalVar.irow=null;
globalVar.icol=null;
}
}
}]

您可以使用一些事件来实现这一点,但我不确定免费jqGrtid是否有这些事件。此版本不受支持

在受支持的模式中,您可以使用beforeSaveCell发出开始保存的信号,然后在您的情况下使用该模式。将afterSubmitCell中的信号设置回false

像这样:

var savestart = false;   
$("#jqGrid").jqGrid({
    beforeSubmitCell : function( id, name, val, irow,icol) {
        savestart = true;
    },
    afterSubmitCell : function() {
        savestart = false; 
        return [true,""];
    },
    ....
 });
在代码中添加以下内容

if (e.type == "focusout" && isValidate && globalVar.irow != null && globalVar.icol != null && !savestart) {
  $("#GridEditConfiguration").saveCell(globalVar.irow, globalVar.icol);
  ...
}

同样,您应该检查这些事件是否在免费jqGrid中可用。您可以使用一些事件来执行此操作,但我不确定免费jqGrtid是否有这些事件。此版本不受支持

在受支持的模式中,您可以使用beforeSaveCell发出开始保存的信号,然后在您的情况下使用该模式。将afterSubmitCell中的信号设置回false

像这样:

var savestart = false;   
$("#jqGrid").jqGrid({
    beforeSubmitCell : function( id, name, val, irow,icol) {
        savestart = true;
    },
    afterSubmitCell : function() {
        savestart = false; 
        return [true,""];
    },
    ....
 });
在代码中添加以下内容

if (e.type == "focusout" && isValidate && globalVar.irow != null && globalVar.icol != null && !savestart) {
  $("#GridEditConfiguration").saveCell(globalVar.irow, globalVar.icol);
  ...
}
同样,您应该检查这些事件在免费jqGrid中是否可用