Forms 在JQgrid中编辑或添加新行时,如何避免在模式窗口外单击时关闭表单?
在添加或编辑行时,是否有避免表单关闭的方法。 Jqgrid在我们的应用程序中工作得很好,但是有一个小问题,当用户通过表单编辑编辑或创建行时,用户在表单的模式外单击,模式关闭,更改丢失。可以避免这种行为吗?解决了 只是,确保在网格编辑或添加选项中设置modal:true,但确保已下载带有modal editing的jqGrid。看 这是我的网格(查找//选项),现在只有在单击“保存”或“取消”按钮时,模式才会关闭:Forms 在JQgrid中编辑或添加新行时,如何避免在模式窗口外单击时关闭表单?,forms,jqgrid,editing,Forms,Jqgrid,Editing,在添加或编辑行时,是否有避免表单关闭的方法。 Jqgrid在我们的应用程序中工作得很好,但是有一个小问题,当用户通过表单编辑编辑或创建行时,用户在表单的模式外单击,模式关闭,更改丢失。可以避免这种行为吗?解决了 只是,确保在网格编辑或添加选项中设置modal:true,但确保已下载带有modal editing的jqGrid。看 这是我的网格(查找//选项),现在只有在单击“保存”或“取消”按钮时,模式才会关闭: jQuery("#gridTipo").jqGrid(
jQuery("#gridTipo").jqGrid(
{
url : 'obtenerTipoDetallePorTipo.do?idTipo=0',
datatype : "json",
colNames : [ 'ID', 'Codigo', 'Descripción', 'Tabla',
'CodPadre', 'Nombre', 'Idioma' ],
colModel : [ {
name : 'id',
index : 'id',
autowidth:true,
hidden : true,
width : 90,
editable : true,
editoptions : {
readonly : true,
size : 10
}
}, {
name : 'codigoTipo',
index : 'codigoTipo',
autowidth : true,
editable : true,
formoptions : {
rowpos : 2,
label : "Codigo",
elmprefix : "(*)"
},
editrules : {
required : true
}
}, {
name : 'descripcionTipo',
index : 'descripcionTipo',
autowidth : true,
editable : true,
editoptions : {
size : 20
},
formoptions : {
rowpos : 3,
label : "Descripcion",
elmprefix : "(*)"
},
editrules : {
required : true
}
}, {
name : 'tabla',
index : 'tabla',
autowidth : true,
editable : true,
formoptions : {
rowpos : 4,
label : "Tabla",
elmprefix : "(*)"
},
editrules : {
required : true
}
}, {
name : 'codpadre',
index : 'codpadre',
hidden : true,
autowidth:true,
editable : true,
editoptions : {
readonly : true,
size : 25,
defaultValue : function() {
var codPad = jQuery("#codPadreH").val();
return codPad;
}
}
}, {
name : 'nombre_tipo',
index : 'nombre_tipo',
autowidth : true,
editable : true,
editoptions : {
size : 20
},
formoptions : {
rowpos : 6,
label : "Nombre",
elmprefix : "(*)"
},
editrules : {
required : true
}
}, {
name : 'idioma',
index : 'idioma',
autowidth : true,
editable : true,
edittype : "select",
editoptions : {
value : "${idiomasDin}"
},
formoptions : {
rowpos : 7,
elmprefix : " "
}
} ],
rowNum : 10,
pager : jQuery('#pgridTipo'),
sortname : 'id',
sortorder : "desc",
viewrecords : true,
width : '620',
height : "250",
editurl : "doPost.do",
shrinkToFit:false,
caption : "Administracion Tipos"
}).navGrid('#pgridTipo', {
add : true,
search : false,
del : false
}, //options
{ modal: true,
height : 220,
width : 500,
reloadAfterSubmit : true,
recreateForm : true,
closeAfterEdit : true,
beforeInitData : function(FrmGrid_gridTipo) {
jQuery("#gridTipo").setColProp('codigoTipo', {
editoptions : {
readonly : true,
size : 20
}
});
jQuery("#gridTipo").setColProp('tabla', {
editoptions : {
readonly : true,
size : 20
}
});
jQuery("#gridTipo").trigger('reloadGrid');
//alert("hola");
}
}, // edit options
{
modal: true,
height : 220,
width : 500,
reloadAfterSubmit : true,
closeAfterAdd : true,
beforeInitData : function(FrmGrid_gridTipo) {
jQuery("#gridTipo").setColProp('codigoTipo', {
editoptions : {
readonly : false,
size : 20
}
});
jQuery("#gridTipo").setColProp('tabla', {
editoptions : {
readonly : false,
size : 20
}
});
jQuery("#gridTipo").trigger('reloadGrid');
//alert("hola");
},
recreateForm : true
}, // add options
{
reloadAfterSubmit : false
}, // del options
{} // search options
);
莫代尔:真的有问题 当您从jqgrid editform引发另一个jquery对话框时,modal:true。 您不能在新对话框中输入任何内容,因为所有键盘(只需输入即可)事件都会被模式:true停止
所以问题仍然存在。尝试以下内部添加/编辑选项
modal: true,
jqModal:true
我也面临同样的问题。