Foros del Web » Programando para Internet » ASP Clásico »

ASP a JS y luego a ASP

Estas en el tema de ASP a JS y luego a ASP en el foro de ASP Clásico en Foros del Web. Hola: Soy nuevo en el foro y en esto de la programacion Web (programo otros lenguages), estuve tratando de hacer unas cosas, busque un par ...
  #1 (permalink)  
Antiguo 04/11/2008, 16:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda ASP a JS y luego a ASP

Hola:
Soy nuevo en el foro y en esto de la programacion Web (programo otros lenguages), estuve tratando de hacer unas cosas, busque un par de ejemplo, lei un par de tutoriales y avance mucho, pero aca en este paso estoy trabado.. les cuento a ver si algun genio de esto puede ayudarme !!

Hasta ahora tengo una pagina ASP que usando un recordSet crea una grilla.
Esa grilla tiene eventos OnClic o OnMouseOver para llamar a funciones en JavaScript, por ejemplo en el OnMouseOver cambia el estilo CCS del renglon de la grilla para que quede "seleccionado" y en el OnClic completa un campo de texto con valores obtenidos de la grilla.

Hata aca todo muy lindo... y ahora es donde se presenta el problema.
En el recordSet, traigo varios campos en la consulta. Supongamos Id, Nombre, Apellido, Edad, Telefono, Etc. En la grilla Solo muestro el Nombre y el Apellido..

Cuando construyo la grilla (con ASP) en un Atributo propio llamado "renglon" le seteo el valor del ID

Código:
Response.Write("<tr CLASS='ClassRegistros' renglon=" & oRecordSet("Id") & 
                          "onMouseOver='SeleccionarRegistro(this)'>")
Si paso el mouse por ensima de la grilla, llama a la funcion (En JS) SeleccionarRegistro

Esta funcion toma el valor del atributo y lo muestra en un campo de texto

Código:
function SeleccionarRegistro(registro){
   document.getElementById("Text1").value = registro.getAttribute("renglon")
}
Hasta aca todo sigue bien... pero ¿y si quiero ir mas lejos?... ¿y hacer que esto empieze a hacer algo util?,
¿y trato de llenar varios campos con los valores que esten en el RecordSet(que aun tengo abierto) segun el Id elejido ?

Si trato de hacer esto en codigo ASP no tengo problemas:
Código:
       oRecordSet.MoveFirst
	
	do while not(oRecordSet.EOF)
	if oRecordSet("id") = "3" then
		Response.Write(oRecordSet("Apellido"))
	end if

	oRecordSet.MoveNext
	Loop
Pero justamente lo que quiero es usar el valor que obtuve en JavaScript y no un "3" HardCode como en el ejemplo !!!

Es mas ... luego necesitaria escribir en el campo de texto que corresponda el valor obtenido (en codigo JavaScript)

Para que se entienda mejor lo que quisiera hacer entonces seria juntar todo asi:

Código:
       oRecordSet.MoveFirst
	
	do while not(oRecordSet.EOF)
	if oRecordSet("id") = registro.getAttribute("renglon") then
		 document.getElementById("Text1").value = oRecordSet("Apellido")
	end if

	oRecordSet.MoveNext
	Loop
Claro que abriendo y cerrando las etiquetas correspondientes a cada lenguaje donde corresponda.

Ya se que uno es lenguaje de Servidor y otro de Cliente, ya se que recargando la pagina podria armar funciones que me ayuden (pero no me gustaria hacerlo asi)

Quizas esta no sea la manera correcta (seguro que no la es!!), pero espero haberme explicado asi me pueden dar una ayuda para saber como deberia hacerlo.

Gracias aunque sea por tomarce el tiempo de leer mi consulta.
Espero sus comentarios !!
Chacabuk
  #2 (permalink)  
Antiguo 05/11/2008, 21:36
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Respuesta: ASP a JS y luego a ASP

el problema es que javascript se ejecuta cuando ASP ya se termino de cargar, entonces, de ASP a JS si se puede, de JS a ASP pues no, quizas habria que buscar por el lado de AJAX
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
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 13:41.