Kiza sea tarde la respuesta, pero seguramente muchos habran tenido el mismo incoveniente yo lo resolvi de la siguiente manera:
primero le das un id al form, en este caso lo llame <form id="frmListaBienes">
a los campos del formulario que tendran el mismo nombre tendras k colocarlos con [] EJ: <input type='text' name='codi_sede_sed[]' value="">
para serializar todos los elementos del formulario utilizamos el jquery con la funcion serialize(), la cual a todos los elementos del formulario los transforma como si fuera una cadena unica.
como se ve, en data:{} enviamos las variables que deseamos en este caso envio dos una se llama variables_ y la otra opcion.
javascript:
Código php:
Ver originalfunction pasarListaBienes(){
var variables
= $
("#frmListaBienes").serialize(); var peticion = $.ajax({
url: 'ajaxCuadroNecesidades.php?nocache=' + Math.random(),
beforeSend: validarLista,
type: 'POST',
dataType: 'html',
data: {variables_ : variables, opcion:"validarLista"},
success: function(respuesta) {
if (respuesta==1){
alert("La plantilla ya ha sido ingresada");
//window.close();
}
if (respuesta==2){
opener.document.location.reload();
window.close();
}
//$('#detalleListaBienes').html(respuesta);
//location.reload(); //->para recargar la página
},
timeout: 3000,
error: function() { alert('Se ha producido un error'); }
});
}
para recoger las variables enviadas por jquery a traves del .ajax
utilizamos la siguiente funcion de PHP parse_str($var,$arrayLista);
y si desean ver el array simplemente lo puden ver con esto:
echo "<pre>";
print_r ($arrayLista);
echo "</pre>";
php:
Código php:
Ver originalif ((isset($_POST['opcion'])) && ($_POST['opcion']=="validarLista")){ $cont = count($arrayVar['codi_depe_tde']); for ($i=0; $i<$cont; $i++){
$codi_sede_sed='\''.$arrayLista['codi_sede_sed'][$i].'\'';
$codi_depe_tde='\''.$arrayLista['codi_depe_tde'][$i].'\'';
$ano_cuad_cna='\''.$arrayLista['ano_cuad_cna'][$i].'\'';
$codi_list_cna='\''.$arrayLista['codi_list_cna'][$i].'\'';
$sqlVerifImportPlant="SP_ABA_WEB @opcion='verifImportPlant',@codi_sede_sed=$codi_sede_sed,
@codi_depe_tde=$codi_depe_tde,@ano_cuad_cna=$ano_cuad_cna,@codi_list_cna=$codi_list_cna";
$rsVerifImportPlant = sybase_query($sqlVerifImportPlant,$connect);
if (sybase_num_rows($rsVerifImportPlant)!=0){
echo '1'; //verifica si tiene la plantilla ingresada
} else {
$sqlImportarPlantilla="SP_ABA_WEB @opcion='insImportarPlantilla', @ano_cuad_cna=$ano_cuad_cna,
@codi_sede_sed=$codi_sede_sed,@codi_depe_tde=$codi_depe_tde,@codi_list_cna=$codi_list_cna";
//echo $sqlImportarPlantilla;
sybase_query($sqlImportarPlantilla,$connect);
echo '2'; //se ingresa nueva plantilla
}
}
}
en este caso vemos que no pintara nada en algun div, solo devolvera como respuenta dos valores que de acuerdo a ello se realizaran dos alert
pero si keremos k pinte algo pondremos algo como esto
$('#detalleListaBienes').html(respuesta);
claro esta k tendra k haber un <div id="detalleListaBienes"></div>
Bueno eso es todo, espero k les sirva.