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:
Si paso el mouse por ensima de la grilla, llama a la funcion (En JS) SeleccionarRegistroResponse.Write("<tr CLASS='ClassRegistros' renglon=" & oRecordSet("Id") & "onMouseOver='SeleccionarRegistro(this)'>")
Esta funcion toma el valor del atributo y lo muestra en un campo de texto
Código:
Hasta aca todo sigue bien... pero ¿y si quiero ir mas lejos?... ¿y hacer que esto empieze a hacer algo util?, function SeleccionarRegistro(registro){ document.getElementById("Text1").value = registro.getAttribute("renglon") }
¿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:
Pero justamente lo que quiero es usar el valor que obtuve en JavaScript y no un "3" HardCode como en el ejemplo !!!oRecordSet.MoveFirst do while not(oRecordSet.EOF) if oRecordSet("id") = "3" then Response.Write(oRecordSet("Apellido")) end if oRecordSet.MoveNext Loop
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:
Claro que abriendo y cerrando las etiquetas correspondientes a cada lenguaje donde corresponda.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
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