cargar cajas de texto a partir de un combo
Publicado por sandra (6 intervenciones) el 20/12/2006 15:19:38
Hola, tengo el siguiente problema:
Tengo un combo, al seleccionar una opción se tienen que cargar dos cajas de texto.
El tema es que el responseText me lo muestra bien cuando hago un alert, pero cuando lo quiero meter dentro de las cajas, me muestra undefined.
Este es una parte del archivo que tiene el Ajax
<script>
function cargar_datos(){
var nro_paciente = document.getElementById('paciente').value;
var cadena = 'arma_xml2.php?opcion='+nro_paciente+'&cache='+Math.random();
var com = verificar_navegador();//el desarrollo de esta funcion no lo copié acá para q no sea tan targo el código, pero anda bien
com.open('GET',cadena,true);
com.onreadystatechange = function(){
if(com.readyState==4){
//alert(com.responseText);//hasta aca lo hace bien
try{
var doc = new ActiveXObject("Microsoft.XMLDOM"); //uso ie
}
catch(e){
var doc = new ActiveXObject("Msxml.DOMDocument");
}
doc.loadXML(com.responseText);
//lleno las cajas de texto
form.obra.value = doc.getElementsByTagName('obra').text; form.plan.value = doc.getElementsByTagName('plan').text;
}//fin del if que pregunta si es == 4
}//fin de la function
com.send(null);
}//fin de la función cargar_datos
<script>
este es el formulario:
<form action="" name="form" method="post">
<table align="center">
<tr>
<td align="right"> Pacientes:</td>
<td>
<select name="paciente" id="paciente" onChange="cargar_datos()">
<option value="0">Elegir Paciente</option>
</select>
</td>
</tr>
<tr>
<td align="right">Obra Social:</td>
<td>
<input type="text" name="obra" id="obra">
</td>
</tr>
<tr>
<td align="right">Plan:</td>
<td>
<input type="text" name="plan" id="plan">
</td>
</tr>
</table>
</form>
Y este es el archivo que arma el xml (arma_xml2.php)
include("conexion.php");
$sql = "SELECT plan, obra_social FROM pacientes WHERE codigo = '$_GET[opcion]'";
$rs = mysql_query($sql, $conn);
echo '<?xml version="1.0" encoding="iso-8859-1"?>';
echo '<lista>';
while($row = mysql_fetch_assoc($rs)){
echo '<datos>';
echo "<obra>".$row['obra_social']."</obra>";
echo "<plan>".$row['plan']."</plan>";
echo '</datos>';
}
echo '</lista>';
?>
No se si está bien el código de donde lleno las cajas de texto.
Bueno, espero haber sido clara y que me puedan ayudar.
Muchas gracias!!
Sandra
Tengo un combo, al seleccionar una opción se tienen que cargar dos cajas de texto.
El tema es que el responseText me lo muestra bien cuando hago un alert, pero cuando lo quiero meter dentro de las cajas, me muestra undefined.
Este es una parte del archivo que tiene el Ajax
<script>
function cargar_datos(){
var nro_paciente = document.getElementById('paciente').value;
var cadena = 'arma_xml2.php?opcion='+nro_paciente+'&cache='+Math.random();
var com = verificar_navegador();//el desarrollo de esta funcion no lo copié acá para q no sea tan targo el código, pero anda bien
com.open('GET',cadena,true);
com.onreadystatechange = function(){
if(com.readyState==4){
//alert(com.responseText);//hasta aca lo hace bien
try{
var doc = new ActiveXObject("Microsoft.XMLDOM"); //uso ie
}
catch(e){
var doc = new ActiveXObject("Msxml.DOMDocument");
}
doc.loadXML(com.responseText);
//lleno las cajas de texto
form.obra.value = doc.getElementsByTagName('obra').text; form.plan.value = doc.getElementsByTagName('plan').text;
}//fin del if que pregunta si es == 4
}//fin de la function
com.send(null);
}//fin de la función cargar_datos
<script>
este es el formulario:
<form action="" name="form" method="post">
<table align="center">
<tr>
<td align="right"> Pacientes:</td>
<td>
<select name="paciente" id="paciente" onChange="cargar_datos()">
<option value="0">Elegir Paciente</option>
</select>
</td>
</tr>
<tr>
<td align="right">Obra Social:</td>
<td>
<input type="text" name="obra" id="obra">
</td>
</tr>
<tr>
<td align="right">Plan:</td>
<td>
<input type="text" name="plan" id="plan">
</td>
</tr>
</table>
</form>
Y este es el archivo que arma el xml (arma_xml2.php)
include("conexion.php");
$sql = "SELECT plan, obra_social FROM pacientes WHERE codigo = '$_GET[opcion]'";
$rs = mysql_query($sql, $conn);
echo '<?xml version="1.0" encoding="iso-8859-1"?>';
echo '<lista>';
while($row = mysql_fetch_assoc($rs)){
echo '<datos>';
echo "<obra>".$row['obra_social']."</obra>";
echo "<plan>".$row['plan']."</plan>";
echo '</datos>';
}
echo '</lista>';
?>
No se si está bien el código de donde lleno las cajas de texto.
Bueno, espero haber sido clara y que me puedan ayudar.
Muchas gracias!!
Sandra
Valora esta pregunta


0