Tengo el siguiente problema:
Necesito enviar una variable a otro documento PHP donde pueda manipular los valores de los combobox y de acuerdo a estos realizar selects, esto se debe hacer sin refrescar la pagina html, debido a esto utilizo ajax pero en todos los tutoriales,manuales o foros aparece la misma forma la cual NO ME FUNCIONA, por favor mirar el codigo y decirme que pasa.......
Aqui esta el codigo php con los combox correspondientes, los cuales son realizados con un select.
Código HTML:
<form name="DigitaAfiliacion" action="index.php?seccion=CCFORMU" method="POST"> <table border="3" align="center"> <tr> <td> <input type="hidden" name="afiliacion" id="afiliacion" value=""> <table border="0" width="100%"> <tr class="TH1"> <td align="center" colspan="6"> <br><b>FORMULARIO DE AFILIACIÓN E INSCRIPCIÓN REGIMEN CONTRIBUTIVO</br></td> </tr> <tr class="TH"> <td> <b>Tipo Cotizante </td> <td> <-- En el onchange se llama la funcion de javascript o ajax!--> <select name="TipoCot" id="idTipoCot" style=width:360px onchange="cargarContenido()"> <? creacomboxconarray($arTipoCotizante,$caTipoCot,0,1);?> </select> </td> <-- Aqui aparece los mensajes del innerHTML!--> <td class="TH" colspan="2"><div id="idajax"></td> </tr> <tr class="TH"> <td class="bordes"> <b>Tipo Identificación</div> </td> <td> <select disabled=disabled name="cbTipoId" id="idTipoId"> <?clValidarForma::fnValidarTipoId($arTipoDocumentoAfiliado,$caTipoId);?> </select> </td> <td> <b>Número </td> <td colspan="2"> <input type="text" name="txtNumero" id="idNumero" value="<?pSession($nuNumeroId);?>"> </td> </tr> </table> </form>
Funcion Ajax
Código:
Por ultimo este es el php donde quiero capturar las varibles del combobox idTipoCotfunction Ajax() { /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */ var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function cargarContenido(){ //Div donde estaran los innerHTML var SelectOrigen=document.getElementById('idajax'); // variable para activar un combobox var SelectDestino=document.getElementById('idTipoId'); //Capturo el valor Seleccionado en el combobox var Selected=document.getElementById('idTipoCot').options[document.getElementById('idTipoCot').selectedIndex].value; //Objeto ajax ajax=Ajax(); ajax.open("POST","pruebas.php"+"?",true); ajax.onreadystatechange=function() { if(ajax.readyState==1){ //Escribo en el div SelectOrigen.innerHTML="Cargando........"; //Activo combobox SelectDestino.disabled=false; } else if (ajax.readyState == 4 ) { if(ajax.status==200) { SelectOrigen.innerHTML = ajax.responseText; } else if(ajax.status==404) { SelectOrigen.innerHTML = "La direccion no existe"; } else { SelectOrigen.innerHTML = "Error: ".ajax.status; } } } //Realizo envio diciendo que es una forma ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send('var1='+Selected); }
Código PHP:
<?
print_r("Post".$_POST);
print_r("Get".$_GET);
print_r("Request".$_REQUEST);
?>
Muchas gracias.