Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/01/2008, 10:09
nancy8120
 
Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 18 años, 4 meses
Puntos: 2
Re: error en la recepcion de datos

gracias Gato...
lo hice de otro modo y me funciono, auq le falta un detalle...
estoy contenta es mi primer script de ajax,
asi que si me puedes ayudar...
bueno el asusnto es que no se como indico el value y la descripcion en el jscript ya que ahora mismo estoy mandando el mismo valor para el value y la descripcion

te muestro lo que tengo
funciona super bien
la pagina.htm

<script src="prueba.js" language="JavaScript"></script>



<tr valign="top">
<td width="98" nowrap><strong>Codigo Fillingsysten:</strong></td>
<td width="261"><div align="left">
<select size="1" name="filli" id="filli">
<option value="">Seleccione</option>
!CODIGO_FILLI!
</select></div><span id="espera"></span></td>
</tr>



<tr valign="top">
<td width="98" nowrap><strong>ID Variant:</strong></td>
<td width="261"><div align="left">
<select size="1" name="idvariant" id="idvariant"></select></div></td></tr>


el pagina.js


addEvent (window,'load',inicializarEventos,false);

function inicializarEventos()
{
var select1=document.getElementById('filli');
addEvent(select1,'change',mostrarMaterias,false);
}

var conexion1;
function mostrarMaterias(e)
{
var codigo=document.getElementById('filli').value;
if (codigo!=0)
{
conexion1=crearXMLHttpRequest();
conexion1.onreadystatechange = procesarEventos;
conexion1.open('GET','pagina.asp?cod='+codigo, true);
conexion1.send(null);
}
else
{
var select2=document.getElementById('idvariant');
select2.options.length=0;
}
}

function procesarEventos()
{
if(conexion1.readyState == 4)
{
var d=document.getElementById('espera');
d.innerHTML = '';
var xml = conexion1.responseXML;
var pals=xml.getElementsByTagName('idvariant');
var select2=document.getElementById('idvariant');
select2.options.length=0;
for(f=0;f<pals.length;f++)
{
var op=document.createElement('option');
var texto=document.createTextNode(pals[f].firstChild.nodeValue);
op.appendChild(texto);
select2.appendChild(op);
}
}
else
{
var d=document.getElementById('espera');
d.innerHTML = '<img src="../cargando.gif">'; }
}


//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+nomevento,funcion);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,captur a);
return true;
}
else
return false;
}

function crearXMLHttpRequest()
{
var xmlHttp=null;
if (window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else
if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
return xmlHttp;
}


y mi pagina.asp
<!-- #include file ="../include/funciones.asp" -->
<%
Dim Conn
'ABRE CONEXION
Response.ContentType = "text/xml"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open CONNECTIONSTRING

codigo=request.QueryString("cod")

strSQL = "SELECT CODIGO,DESCRIPCION,IDFILLINGSYSTEM FROM VARIANT where IDFILLINGSYSTEM="&codigo&" "
Set rs = Conn.Execute(strSQL)

rs.MoveFirst()
response.write("<?xml version='1.0' ?>")
response.write("<variant>")
while (not rs.EOF)
response.write("<variantid>")
response.write("<idvariant>" & rs("CODIGO") & "</idvariant>")
response.write("<descripcion>" & rs("DESCRIPCION") & "</descripcion>")
response.write("</variantid>")
rs.MoveNext()
wend
'rs.close()
'conn.close()
response.write("</variant>")
%>


mu pregunta es en pagina.js en esta parte donde cargo mu segundo select como especifico para que el value sea el idvariante
y la descripcion sea la descripcion ose el xml que genero tiene esos dos datos, se que me entiendes

function procesarEventos()
{
if(conexion1.readyState == 4)
{
var d=document.getElementById('espera');
d.innerHTML = '';
var xml = conexion1.responseXML;
var pals=xml.getElementsByTagName('idvariant');
var select2=document.getElementById('idvariant');
select2.options.length=0;
for(f=0;f<pals.length;f++)
{
var op=document.createElement('option');
var texto=document.createTextNode(pals[f].firstChild.nodeValue);
op.appendChild(texto);
select2.appendChild(op);
}
}
else
{
var d=document.getElementById('espera');
d.innerHTML = '<img src="../cargando.gif">'; }
}
aqui se carga el select2


y en la pagina asp tengo
response.write("<idvariant>" & rs("CODIGO") & "</idvariant>")
response.write("<descripcion>" & rs("DESCRIPCION") & "</descripcion>")
me comprendes ?
muchisimas gracias