Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Retornar dos valores

Estas en el tema de Retornar dos valores en el foro de Frameworks JS en Foros del Web. Hola, de nuevo con una pregunta, que quizás sea muy sencilla de contestar, pero he encontrado algunas cosas en google y dentro de este mismo ...
  #1 (permalink)  
Antiguo 09/08/2011, 15:00
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Retornar dos valores

Hola, de nuevo con una pregunta, que quizás sea muy sencilla de contestar, pero he encontrado algunas cosas en google y dentro de este mismo foro, pero no resuelve mi problema.

Tengo una consulta en asp donde verifico el nombre y id. Lo que requiero es, imrpimir el nombre en un textbox que tengo en mi div, lo cual ya me funciona de maravilla, y además requiero enviarle a un type=hidden el id, pero no he podido.

este es mi div:
Código HTML:
Ver original
  1. Código del Curso:
  2. <input type="text" name="ccursoa" id="ccursoa" size="11" />
  3. <input type="button" onClick="buscarcursoal(var2=document.getElementById('ccursoa').value)" value="Buscar" />
  4.  
  5. <input type="hidden" id="id" name="id" value="id de la consulta" />
  6.  
  7. Curso: <input type="text" name="calumno" id="calumno" size="67" />

de esta manera mando llamar la consulta
Código Javascript:
Ver original
  1. function buscarcursoal(var2)
  2. {
  3.     var valor;
  4.     valor = 5;
  5.     ajax=nuevoAjax();
  6.     //document.write(valor+" - "+var2);
  7.     ajax.open("GET", "curso.asp?tipo="+valor+"&variable="+var2, true);
  8.     ajax.onreadystatechange=function()
  9.     {
  10.         if (ajax.readyState==4)
  11.         {
  12.             //y quiero saber como puedo regresar la variable id de la consulta
  13.             document.registroins.calumno.value = ajax.responseText;
  14.         }
  15.     }
  16.     ajax.send(null);
  17. }

aquí hago la consulta:

Código ASP:
Ver original
  1. Set oConn = Server.CreateObject("ADODB.Connection")
  2. Set Rs = Server.CreateObject("ADODB.Recordset")
  3. oConn.open = "DSN=cnx;UID=;PWD=;DATABASE="
  4.  
  5. Set Rs = Server.CreateObject("ADODB.Recordset")
  6. consulta = "SELECT id, codigo, nombre FROM CURSOS WHERE codigo = '"&variable&"'"
  7. Rs.Open consulta, oConn
  8.  
  9.     Response.Write Rs("nombre")
  10.         ´aqui es donde quiero poner la var id
  11.  
  12. Rs.Close
  13. Set Rs = Nothing
  14. oConn.Close
  15. Set oConn = Nothing

espero me puedan apoyar para regresar esa variable.

Gracias
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #2 (permalink)  
Antiguo 09/08/2011, 22:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 5 meses
Puntos: 1532
Respuesta: Retornar dos valores

como te habrás dado cuenta, solo puedes enviar una cadena como respuesta, pero el XmlHttpRequest también te permite enviarla en formato XML y con ello puedes enviar varias variables estructuradas, ¿pero XML es tu única opción? no!: también puedes enviarla en formato JSON y evaluarla con eval() en javascript.

tienes que ser un poco más creativo con lo que puedes pasar como respuesta, hasta una simple coma te puede servir como carácter de separación

PD: usa las colecciones:

document.forms['registroins'].elements['calumno'].value = ajax.responseText;
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/08/2011, 08:07
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Retornar dos valores

Gracias maycolalvarez, ya estoy trabajando con eso ...
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.

Etiquetas: ajax, retornar, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.