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

TextBox onChange con asp

Estas en el tema de TextBox onChange con asp en el foro de ASP Clásico en Foros del Web. tengo un problema y no se como explicarme a ver tengo un textbox y deseo que cuando se tipee una tecla por ejemplo una "A" ...
  #1 (permalink)  
Antiguo 11/11/2004, 10:34
 
Fecha de Ingreso: noviembre-2004
Mensajes: 14
Antigüedad: 20 años, 6 meses
Puntos: 0
TextBox onChange con asp

tengo un problema y no se como explicarme a ver tengo un textbox y deseo que cuando se tipee una tecla por ejemplo una "A" me muestre un listado o menú de todas las palabras o frases que empiezan con esa letra Ej. árbol, arena, etc si tipeo otra letra una "z" en el textbox quedaría "AZ" y el listado o menú mostraría azul, az.....,etc. las frases o palabras están en una base de datos y es aquí donde entra asp ¿como lo hago? ,lo que deseo hacer es algo parecido al auto completar de Windows. De antemano muchas gracias por la ayuda, si alguien tiene solo la idea de como hacer igual me puede ayudar mucho mejor seria un ejemplo pero lo que tenga será de ayuda
ojalá me puedan responder a mi correo [email protected] ya que soy nuevo en este foro y de seguro se me va a olvidar la url
  #2 (permalink)  
Antiguo 11/11/2004, 14:32
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
mira... yo creoq ue se deberia hacer un ASP que imprima una arreglo Java script con todas las plabras claves del abecedario que tengas en la base de datos , luego hacer un javascript que agarre ese arreglo java script y vaya imprimiendo las posibles palabras segun las palabras que el tipo vaya escribiendo...

asi deberia ser a grandes rasgos.

Complicado si, pero el asunto va por hacer la funcion java script
mas que por hacer un arreglo java script con asp.. eso es facil


  #3 (permalink)  
Antiguo 11/11/2004, 14:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
ojalá me puedan responder a mi correo [email protected] ya que soy nuevo en este foro y de seguro se me va a olvidar la url
  #4 (permalink)  
Antiguo 11/11/2004, 14:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años, 6 meses
Puntos: 0
Yo llevo buscando ese tipo de cosas bastante tiempo, me refiero a ejecutar una consulta a la base de datos pero con los datos recogidos en javascript, y solamente he encontrado tres maneras (si alguien supiera alguna mas, le agradeceria que la compartiera :P), pero vamos, éstas son las que yo he encontrado.

- O recargar la misma página en la funcion de javascript, pero pasandole ya los parametros para que los recoja ASP.

- O cargar un popup pequeñito, que apareceria y desapareceria en cuanto hiciera la consulta (tambien pasandole en la url los parametros, claro).

- O lo que hago ahora, que es cargar la pagina que cargaba en el popup, pero en un iframe dentro de una capa invisible en la misma pagina, de manera que la pagina que cargo dentro del iframe ya me cargara los datos en la pagina buena (la que ve el usuario).

No creo que estos metodos sean los mejores, pero son los unicos que he encontrado hasta el momento.

  #5 (permalink)  
Antiguo 11/11/2004, 14:41
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
jejejejjee
  #6 (permalink)  
Antiguo 11/11/2004, 15:16
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Bueno, SLAVE_ZERO, si no se te olvida la URL y regresás por este foro, te paso un script que encontré en la FAQ de Javascript y adapté para realizar algo parecido a lo que pedís...

Pero hay dos cuestiones fundamentales:
1- Tengo que encontrarlo y no sé dónde está :
2- Tenés que volver a aparecer por aquí... no respondo por mail
__________________
...___...
  #7 (permalink)  
Antiguo 11/11/2004, 17:47
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
De acuerdo

hola
aqui te paso algo en javascript pero no veo dificil pasarlo o combinarlo con asp, deja saber si te sirve..
suerte

Código:
 
<html> 
<head> 
  <script language="JavaScript"> 
   var i; 
   function addOpt(oCntrl, sTxt, sVal, sCnd){ 
	if (sTxt.substr(0, sCnd.length).toUpperCase() == sCnd.toUpperCase()){ 
	 var selOpcion=new Option(sTxt, sVal); 
	 eval(oCntrl.options[i++]=selOpcion); 
	} 
   } 
   function cambia(oCntrl){ 
	var txtVal = document.frm.txt.value; 
	while(oCntrl.length > 0) oCntrl.options[0]=null; 
	i = 0; 
	oCntrl.clear; 
	addOpt(oCntrl,  "Ciudad de México", "0", txtVal); 
	addOpt(oCntrl,  "Ciudad de Panamá", "0", txtVal); 
	addOpt(oCntrl,  "Ciudad de Guatemala", "0", txtVal); 
	addOpt(oCntrl,  "Caracas", "0", txtVal); 
	addOpt(oCntrl,  "Cancún", "0", txtVal); 
	addOpt(oCntrl,  "Maracay", "0", txtVal); 
	addOpt(oCntrl,  "Maracaibo", "0", txtVal); 
	addOpt(oCntrl,  "Zaragoza", "0", txtVal); 
   } 
  </script> 
</head> 
<body onload="cambia(document.frm.ciudad)"> 
  <form name="frm"> 
   <table border="0"> 
	<tr> 
	 <td> 
	  Ciudad: 
	 </td> 
	 <td> 
	  <input type="text" name="txt" onkeyup="cambia(document.frm.ciudad)"> 
	 </td> 
	 <td> 
	  <select name="ciudad"> 
	  </select> 
	 </td> 
	</tr> 
   </table> 
  </form> 
</body> 
</html>
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #8 (permalink)  
Antiguo 11/11/2004, 18:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
el código que puso lexus es exactamente el que había modificado, en su versión en bruto. Con él ya tenés para "jugar" con ASP. La única modificacíon que le debés hacer es generar mediante ASP una línea de las de "addOpt..." por cada registro de tu récordset
__________________
...___...
  #9 (permalink)  
Antiguo 13/11/2004, 12:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 14
Antigüedad: 20 años, 6 meses
Puntos: 0
lexus el código esta bien pero no se como conectarlo con un recordset, voy a dejar un código pero que tiene problemas cuando tipeas una tecla se pierde el focus del textbox, si se dan cuenta al hacer click en una ciudad se completa el texbox pero me gustaría que esto pasara cuando se le de un tab al textbox
<%
texto=request.querystring("texto")
mensaje=request.form("mensaje")
mensajeRecorrer=mensaje

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" &Server.MapPath("db1.mdb")

SQL="Select Ciudades from Ciudades where Ciudades like '" & mensaje & "%'"
Set RS=Server.CreateObject("ADODB.RecordSet")
RS.Open SQL,Conn

if texto<>"" then
mensaje=texto
end if%>

<form name="formulario" method="post" action="index.asp">
<input type="text" name="mensaje" value="<%=mensaje%>"
onKeyUp="javascript:document.formulario.submit();" >
</form>
<table width="" border="1" bgcolor="#0000FF">

<%if mensajeRecorrer <> "" then
while not RS.EOF%>
<tr>
<td width="" height="" valign="top" bgcolor="#009900"><a href="index.asp?texto=<%=RS("Ciudades")%>"><%=RS(" Ciudades")%></a></td>
</tr>

<%RS.MoveNext

wend%>
</table>
<%else
mensaje =""
End if
%>
  #10 (permalink)  
Antiguo 13/11/2004, 18:06
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
como dice dazuaga es exactamente como lo debes modificar.
osea en esta parte lo debes cambiar por un ciclo ya sea con un do o while o lo qeu sea que recorra una tabla con todos los valores qeu necesitas y te llenen esto.

addOpt(oCntrl, "Ciudad de México", "0", txtVal);
addOpt(oCntrl, "Ciudad de Panamá", "0", txtVal);
addOpt(oCntrl, "Ciudad de Guatemala", "0", txtVal);
addOpt(oCntrl, "Caracas", "0", txtVal);
addOpt(oCntrl, "Cancún", "0", txtVal);
addOpt(oCntrl, "Maracay", "0", txtVal);
addOpt(oCntrl, "Maracaibo", "0", txtVal);
addOpt(oCntrl, "Zaragoza", "0", txtVal);

espero puedas hacerlo, cualquier duda nos avisas a ver si lo tratamos de modificar.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #11 (permalink)  
Antiguo 15/11/2004, 11:37
 
Fecha de Ingreso: noviembre-2004
Mensajes: 14
Antigüedad: 20 años, 6 meses
Puntos: 0
pucha ese es el problema no se como hacer el ciclo para imprimir un recorset en javascrip (cliente), lo se hacer con asp vbscript servidor intento generar una linea como esta pero no funciona
<%while not rs.eof %>

addOpt(oCntrl, <%=rs("ciudad")%>, "0", txtVal);
<%rs.movenext
wend%>
  #12 (permalink)  
Antiguo 15/11/2004, 12:12
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
casi que vas bien...


<%while not rs.eof %>
addOpt(oCntrl, "<%=rs("ciudad")%>", "0", txtVal);
<%rs.movenext
wend%>
__________________
...___...
  #13 (permalink)  
Antiguo 16/11/2004, 10:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 14
Antigüedad: 20 años, 6 meses
Puntos: 0
gracias a todos, gracias ,gracias, gracias, muchas gracias
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 17:01.