Hola manuelle, disculpa la demora, pero recien veo el mensaje, espero hallas encontrado la solucion, pero dejo mi respuesta por si a alguien le sirve
para cerrar la ventana del formulario despues de retornar de la pagina del servidor, es muy sencillo debes configurar la opcion closeAfterAdd o closeAfterEdit dependiendo del caso, en tu ejemplo seria:
Código:
jQuery(document).ready(function(){
jQuery("#crud").jqGrid({
url:load.php,
editurl: edit.php,
datatype: "json",
colNames:['Identificador','Texto'],
colModel:[
{name:'idmsg',index:'idmsg', width:200, editable:true, sorttype:'string'},
{name:'textomsg',index:'textomsg', width:300,editable:true},
],
rowNum:10,
rowTotal: 50,
rowList:[10,20,30],
pager: '#pcrud',
sortname: 'id',
loadonce: true,
viewrecords: true,
sortorder: "desc",
});
//jQuery("#crud").jqGrid('navGrid','#pcrud',{});
jQuery("#crud").jqGrid('navGrid','#pcrud',
{}, //options
{height:350,reloadAfterSubmit:true,closeAfterEdit:true}, // edit options
{height:350,reloadAfterSubmit:true,closeAfterAdd:true}, // add options
{reloadAfterSubmit:true}, // del options
{} // search options
);
});
por tu otra pregunta, si necesitas validaciones clasicas, jqgrid te provee de unos metodos para poder hacerlas en el lado del cliente antes de enviarla al servidor, definiendo unas reglas en tu colmodel
en tu caso podrias poner
Código:
colModel:[
{name:'idmsg',index:'idmsg', width:200, editable:true,sorttype:"int",editable:true,editrules :{required:true,number:true}}, //aqui indicamos que es un parametro que debe ingresar obligatoriamente (required:true) y que debe ser de tipo numerico (number:true)
{name:'textomsg',index:'textomsg', width:300,editable:true},
],
tienes muchas opciones, por ejemplo puedes poner
email:true, url:true, minValue:50, maxValue:100, date, etc...
incluso puedes hacer una validacion con una funcion javascript tuya, con esta opcion del editrule
custom:true, custom_func:mifuncion,
algo asi
Código:
<script>
function mifuncion(value, colname) {
if (value < 0 || value >20)
return [false,"Please enter value between 0 and 20"];
else
return [true,""];
}
jQuery("#grid_id").jqGrid({
...
colModel: [
...
{name:'idmsg',index:'idmsg', width:200, editrules:{custom:true, custom_func:mifuncion}, editable:true },
...
]
...
});
</script>
puedes ver la documentacion completa en esta pagina
[URL="http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules&s[]=editrules"]http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules&s[]=editrules[/URL]
busca por las opciones de editrules
si ya no hay caso y necesitas hacer la validacion en el servidor
busca en la misma pagina por el evento afterSubmit
esta pagina tambien es muy buena te la recomiendo
[URL="http://trirand.com/blog/jqgrid/jqgrid.html"]http://trirand.com/blog/jqgrid/jqgrid.html[/URL]
espero sea de utilidad.