el problema que tengo es que encontre un codigo en la web que me sirve para hacer una consulta en la base de datos y traer los resultados y mostrarlos en los campos de texto del formulario sin recargar la pagina, el ejemplo encontrado funciona, pero al adaptarlo al sistema no me hace la funcionalidad, resumiendo un poco me arroja el siguiente error por la consola web:
TypeError: respuesta is null
el depurador me marca la siguiente linea:
campo1.value=respuesta.getElementsByTagName("prime r_nombre_rp")[0].childNodes[0].data;
El codigo es el siguiente:
Código Javascript:
Ver original
function nuevoAjax(){ var xmlhttp=false; try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xmlhttp=false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } return xmlhttp; } //_______________________________________________ function valida_campo_ci(url) { var form_consul_user_especf=document.form_consul_user_especf; if (form_consul_user_especf.consul_ci.value==0) { alert("Ingrese la cedula del responsable patrimonial a buscar"); form_consul_user_especf.consul_ci.focus(); return false; }else{ var campo1=document.getElementById("primer_nombre"); var cod=document.getElementById("consul_ci").value; var ajax=nuevoAjax(); ajax.open("POST", "url", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("v="+cod); ajax.onreadystatechange=function() { if (ajax.readyState==4) { var respuesta=ajax.responseXML; campo1.value=respuesta.getElementsByTagName("primer_nombre_rp")[0].childNodes[0].data; } } } }
la clase o modelo:
Código PHP:
Ver original
Class Usuarios extends Conectar{ private $ced=array(); public function get_usuarios_por_cedula() { $v=$_POST["v"]; parent::con(); $sql=sprintf ( "select primer_nombre_rp from responsable_patrimonial where cedula_rp='$v'" ); $res=pg_query(parent::con(),$sql); if(pg_num_rows($res)==0) { echo 'No se encontro ningun resultado'; }else{ $reg=pg_fetch_assoc($res); while($reg=pg_fetch_assoc($res)) { $this->ced[]=$reg; } $this->ced; $xml="<?php xml version='1.0' encoding='ISO-8859-1'?>"; $xml.="<datos>"; $xml.="<primer_nombre_rp><![CDATA[$reg[0]]]></primer_nombre_rp>"; $xml.="</datos>"; header("Content-type: text/xml"); echo $xml; return $this->ced; } } }
vista:
Código PHP:
Ver original
<form name="form_consul_user_especf" action="" method="post"> <div class="form-inline"> <!--Buscador--> <div class="form-group"> <div class="input-group col-lg-12"> <input type="text" id="consul_ci" name="consul_ci" data-provide="typeahead" class="form-control" placeholder="Ingrese codigo del bien"> <span class="input-group-btn"> <input type="hidden" name="grabar2" value="si" /> <button type="button" onClick="valida_campo_ci('<?php echo Conectar::ruta();?>controlador/cuenta_usuarioControlador.php');" class="btn btn-primary" type="button">Buscar</button> </span> </div> </div> <div class="form-group col-lg-4"> <div class="input-group" id="campo"> <input type="text" class="form-control" name="primer_nombre" id="primer_nombre" placeholder="Primer Nombre"> <span class="input-group-addon"> <img src="<?php echo Conectar::ruta();?>img/images_form/usuario.PNG"> </span> </div> </div> </form>
Controlador:
Código PHP:
Ver original
<?php require_once("config.php");//archivo de conexion a la Base de datos require_once("clases/clases_usuario.php"); //archivos de las clases $obj=new Usuarios(); } require_once("vista/cuenta_usuario.phtml"); //muestra la vista ?>
Ayudenme Porfaaa