Forum


22:47

13/07/2010

Someone could tell me why afterSubmit event, does not work with inserting and updating?
Sorry for my English
Here, it's a portion of Javascript:
jQuery(document).ready(function(){
jQuery("#articulos").jqGrid({
url:'articulos_select.php',
datatype: 'json',
mtype: 'GET',
colNames:['No.','Descripción','Factura','U.Medida','Cantidad','Precio','Partida','Estatus','Caducidad'],
colModel :[
{name:'no_articulo',index:'no_articulo',key:true,width:30,align:'right',resizable:false,editable:false,editoptions:{readonly:true,size:10},search:false},
{name:'desc_articulo',index:'desc_articulo',width:300,align:'left',resizable:true,editable:true,editrules:{required:true},editoptions:{size:10},searchoptions:{sopt:['bw']}},
{name:'fec_factura',index:'fec_factura',width:80,align:'right',resizable:false,editable:true,datefmt:'dd-mm-yyyy',editrules:{required:true,date:true},search:false},
{name:'unidad_medida',index:'unidad_medida',width:80,align:'left',resizable:true,editable:true,edittype:"select",editrules:{required:true},editoptions:{dataUrl:'selects.php?q=5'},search:false},
{name:'cantidad',index:'cantidad',width:70,align:'right',resizable:false,editable:true,editrules:{required:true,integer:true,minValue:0,maxValue:999999},editoptions:{size:10},search:false},
{name:'precio',index:'precio',width:50,align:'right',resizable:false,editable:true,editrules:{required:true,number:true,minValue:0,maxValue:99999.99},editoptions:{size:10},search:false},
{name:'partida',index:'partida',width:195,align:'left',resizable:true,editable: true,edittype:"select",editrules:{required:true},editoptions:{dataUrl:'selects.php?q=1'},search:false},
{name:'estatus',index:'estatus',width:55,align:'left',resizable:false,editable: true,edittype:"select",editoptions:{value:"A:Activo;N:Inactivo"},search:false},
{name:'fec_caducidad',index:'fec_caducidad',width:90,align:'right',resizable:false,editable:true,datefmt:'dd-mm-yyyy',editrules:{required:true,date:true},search:false},
],
pager:'#articulos1',
rowNum:10,
rowList:[10,20,30],
sortname:'no_articulo',
sortorder:'asc',
viewrecords:true,
caption:'ARTÍCULOS',
editurl:'articulos_movtos.php',
height:'auto',
multiselect:true
});
jQuery("#articulos").jqGrid('navGrid','#articulos1',
{}, //options
'editGridRow','selrow',{height:280,reloadAfterSubmit:false,
afterSubmit: function(response, postdata) {
if (response.responseText == "") {
return [true, response.responseText]
}
else {
return [false, response.responseText]
}
}
}, // edit options
'editGridRow','new',{height:280,reloadAfterSubmit:false,
afterSubmit: function(response, postdata) {
if (response.responseText == "") {
return [true, response.responseText]
}
else {
return [false, response.responseText]
}
}
},// add options
'delGridRow','selarrow',{reloadAfterSubmit:false,
afterSubmit: function(response, postdata) {
if (response.responseText == "") {
return [true, response.responseText]
}
else {
return [false, response.responseText]
}
}
}, // del options
{multipleSearch:true} // search options
);
jQuery("#articulos").setGridParam({postData: {search:true, searchField:'desc_articulo', searchOper:'bw'},page:1}).trigger("reloadGrid");
});
And this is a PHP code:
<?php
include_once ("conexion.php");
include("php/JSON.php");
$json = new Services_JSON();
//Conexión a MySQL y a la BD
$Conexion=new Conexion();
$Conexion->getConexion();
$oper = $_POST['oper'];
switch($oper){
case 'add':
//Insertar en la tabla Artículos
$sql="SELECT MAX(no_articulo) + 1 AS no_articulo FROM articulos";
$result = mysql_query($sql) or die (mysql_error());
$articulos_row=mysql_fetch_array($result);
if ($articulos_row['no_articulo']==''){
$no_articulo=1;
}
else{
$no_articulo=$articulos_row['no_articulo'];
}
$desc_articulo=$_POST['desc_articulo'];
$unidad_medida=$_POST['unidad_medida'];
$fec_factura1=$_POST['fec_factura'];
$fecha = split("-",$fec_factura1);
$fec_factura=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
$cantidad=$_POST['cantidad'];
$precio=$_POST['precio'];
$partida=$_POST['partida'];
$estatus=$_POST['estatus'];
$fec_caducidad1=$_POST['fec_caducidad'];
$fecha = split("-",$fec_caducidad1);
$fec_caducidad=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
$sql="INSERT INTO articulos (no_articulo, desc_articulo, fec_factura, unidad_medida, cantidad, precio, partida, estatus, fec_caducidad, usuario_modif) VALUES ";
$sql.="(".$no_articulo.",'".$desc_articulo."','".$fec_factura."',".$unidad_medida.",".$cantidad.",".$precio.",".$partida.",'".$estatus."','".$fec_caducidad."','".$_SESSION['name_usuario']."')";
$result = mysql_query($sql) or die (mysql_error());
//Cierra la conexión
$Conexion->Close();
break;
case 'edit':
$no_articulo = (isset($_REQUEST['id']) ? trim($_REQUEST['id'] ): null);
$result = mysql_query("SELECT COUNT(*) AS count FROM requisicion_h WHERE articulo = $no_articulo");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
mysql_free_result($result);
if($count == 0) {
$result = mysql_query("SELECT COUNT(*) AS count FROM vales_h WHERE articulo = $no_articulo");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
mysql_free_result($result);
if($count == 0) {
//Actualizar en la tabla Artículos
$desc_articulo=$_POST['desc_articulo'];
$fec_factura1=$_POST['fec_factura'];
$fecha = split("-",$fec_factura1);
$fec_factura=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
$unidad_medida=$_POST['unidad_medida'];
$cantidad=$_POST['cantidad'];
$precio=$_POST['precio'];
$partida=$_POST['partida'];
$estatus=$_POST['estatus'];
$fec_caducidad1=$_POST['fec_caducidad'];
$fecha = split("-",$fec_caducidad1);
$fec_caducidad=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
$sql="UPDATE articulos SET desc_articulo = '".$desc_articulo."',";
$sql.=" unidad_medida = ".$unidad_medida.",";
$sql.=" fec_factura = '".$fec_factura."',";
$sql.=" cantidad = ".$cantidad.",";
$sql.=" precio = ".$precio.",";
$sql.=" partida = ".$partida.",";
$sql.=" estatus = '".$estatus."',";
$sql.=" fec_caducidad = '".$fec_caducidad."',";
$sql.=" usuario_modif = '".$_SESSION['name_usuario']."' ";
$sql.="WHERE no_articulo = $no_articulo";
$result = mysql_query($sql) or die (mysql_error());
} else {
echo "Todavia hay registros de los articulos en los vales<br>";
}
} else {
echo "Todavia hay registros de los articulos en las solicitudes<br>";
}
//Cierra la conexión
$Conexion->Close();
break;
case 'del':
{
$no_articulo = (isset($_REQUEST['id']) ? trim($_REQUEST['id'] ): null);
$total=count(explode(',',$no_articulo));
$no_articulo1=explode(',',$no_articulo);
for($i=0;$i<$total;$i++){
$result = mysql_query("SELECT COUNT(*) AS count FROM requisicion_h WHERE articulo = $no_articulo1[$i]");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
mysql_free_result($result);
if($count == 0) {
$result = mysql_query("SELECT COUNT(*) AS count FROM vales_h WHERE articulo = $no_articulo1[$i]");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
mysql_free_result($result);
if($count == 0) {
$sql="DELETE FROM articulos WHERE no_articulo = $no_articulo1[$i]";
$result = mysql_query($sql) or die (mysql_error());
} else {
echo "Todavia hay registros de los articulos en los vales<br>";
}
} else {
echo "Todavia hay registros de los articulos en las solicitudes<br>";
}
}
//Cierra la conexión
$Conexion->Close();
}
}
?>
Thanks a lot
22:24

29/12/2011

hi Guys i am facing a similar problem. here it's my code..
var gr = jQuery('#mainexecutivesg').jqGrid('getGridParam','selrow');
if(gr!= null){jQuery('#mainexecutivesg').jqGrid('editGridRow',gr,{/*afterSubmit:function(response,postdata){alert(response.responseText);},*/top:50,left:400,width:420,height:550,processData:"Editando Data En Servidor Remoto...",reloadAfterSubmit:false,closeAfterEdit:true,closeAfterAdd:true});else alert("Debes Seleccionar Una Registro Primero");}catch(E){alert(E);}}
as you can see.. everything is OK. but when uncommment the aftersubmit callback. the form doesn't dissapear after the response from the server(seems useless..[closeAfterEdit:true,closeAfterAdd:true])... what i am doing wrong...
other problem i am facing. it's i have the first column editable:false when i make the ajax call to edit that row.. the plugin change my cell value for a consecutive ID. namely (1,2,3,4).. what's that??
thanks
Most Users Ever Online: 715
Currently Online:
62 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66