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

Problemas con ComboBox

Estas en el tema de Problemas con ComboBox en el foro de ASP Clásico en Foros del Web. Buenas a todos! tengo un problema y a lo mejor es algo tribial pero no he encontrado la forma soy nuevo programando en ASP y ...
  #1 (permalink)  
Antiguo 06/02/2004, 09:17
 
Fecha de Ingreso: febrero-2004
Mensajes: 22
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Problemas con ComboBox

Buenas a todos!
tengo un problema y a lo mejor es algo tribial pero no he encontrado la forma soy nuevo programando en ASP y no se como hacer para filtrar una pagina por medio de un ComboBox...

Lo que quisiera hacer es que cuando yo seleccione un item del combo la pagina se me refresque y obtenga los nuevos valores de la base de datos...

De Ante Mano Gracias!!!
  #2 (permalink)  
Antiguo 06/02/2004, 23:17
 
Fecha de Ingreso: febrero-2003
Ubicación: Mexico
Mensajes: 70
Antigüedad: 21 años, 3 meses
Puntos: 0
pues si es lo que me imagino debes de generar el combo con la liga que se a manda y al mandar al form analisas que opcion tiene el combo para que sea la pagina que se cargue.

Osea que necesitas un asp que este analizando lo el valor del combo para que con un case los redirecciones a la pagina deseada

Saludos
__________________
Atte,

Maiden
  #3 (permalink)  
Antiguo 09/02/2004, 07:10
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
yo tengo dos formas de realizar un refresh en los datos de la combo para que después se active o se carge otra combo. Son los siguientes:

<select name="nombreSelect" onchange="location.href='pagina.asp?dato=' + this.options[this.selectedIndex].value + ' " > . En este se redirecciona la pagina a si misma, y luego puedes obtener el dato de la url con request.querystring('dato').


<select name="nombreSelect" onchange ="document.getElementById('nombreForm').submit( )" > . Con este activa el form y puedes recuperar los datos con request.form('dato')

espero que te sirva
  #4 (permalink)  
Antiguo 10/02/2004, 10:53
 
Fecha de Ingreso: febrero-2004
Mensajes: 22
Antigüedad: 20 años, 4 meses
Puntos: 0
Tengo un problema con esos ejemplos q me pasaste no me funcionan como deberia....

estos son los valores del combo y tengo otros datos en una tabla que son filtrados dependiendo de la seleccion del combo, este combo esta dentro de un form use el primer metodo que me diste pero no puedo obtener ningun dato ni se me refresca la pagina al seleccionar algo del combo

<select name="select" id="select" onchange="location.href='consultaLAB.asp?dato=' + this.options[this.selectedIndex].value + ' " >
<option value="A" <%If (Not isNull(Recordset1__MMLabor)) Then If ("A" = CStr(Recordset1__MMLabor)) Then Response.Write("SELECTED") : Response.Write("")%>>Petrolero</option>
<option value="B" <%If (Not isNull(Recordset1__MMLabor)) Then If ("B" = CStr(Recordset1__MMLabor)) Then Response.Write("SELECTED") : Response.Write("")%>>Petroquimica</option>
<option value="C" <%If (Not isNull(Recordset1__MMLabor)) Then If ("C" = CStr(Recordset1__MMLabor)) Then Response.Write("SELECTED") : Response.Write("")%>>Construccion</option>
</select>

cuando le doy Request.queryString("dato") no me aroja ningun valor no se cual seria el problema, si me puedes ayudar AntofagastaCL se te agradeceria mucho!

Salu2...
  #5 (permalink)  
Antiguo 10/02/2004, 11:19
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
en realidad, el primer metodo <select name="nombreSelect" onchange="location.href='pagina.asp?dato=' + this.options[this.selectedIndex].value + ' " > ...etc, lo que hace es redireccionar la pagina a si misma, por lo tanto es como si llamaras a la pagina por primera vez. Una forma es ir pasando todos los datos por la URL, lo cual implica muchos problemas si tienes muchos datos que almacenar al hacer el refresh. En cambio el segundo metodo es mas elegante, y es lo que yo uso en forma general: <select name="nombreSelect" onchange ="document.getElementById('nombreForm').submit( )" >
este puede activar el form en que está metido tu combo y recuperar los datos con request.form("select"). Ahora, no estoy seguro pero parece que cada vez que hay un refresh estas leyendo de un BD....
Tal vez con un poco mas de codigo que muestres para ver el contexto....
  #6 (permalink)  
Antiguo 12/02/2004, 09:43
 
Fecha de Ingreso: febrero-2004
Mensajes: 22
Antigüedad: 20 años, 4 meses
Puntos: 0
si si ando leyendo de una base de datos pero el problema mio no es tanto eso si no es que cuando selecciono algun elelmento del combo ya que el combo lo estoy utilizando para filtrar la base de datos, lo que quisiera que hiciera es q se actualize la pagina y me cargue los nuevos datos de la base de datos cade vez q seleccione algo en el ComboBox...

es algo asi como que se me refresque la pagina pero con los nuevos datos q tiene!!!
  #7 (permalink)  
Antiguo 12/02/2004, 15:27
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
acá te envio un codigo bastante basico, sobre la realización de un foro muy basico y elemental. lo que hace este codigo es que despliega un combo de un BD access y el dato que eliges, hace el refresh, vuelve a cargar la pagina, almancena los datos ingresados, y luego despliega esos datos ingresados. Tal vez te sirva para que saques una idea de lo que buscas.. además deja seleccionada la opción que elegiste del combo


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//3.0">
<HTML>
<HEAD><TITLE> Foro </TITLE></HEAD>
<BODY>

<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\miforo.mdb"))

fecha = Now()
login = "loginUsuario"
comentarios = Request("comentarios")
pais = Request("slcPais")
if comentarios <> "" then
sql= "INSERT INTO latabla(fecha, login, comentario)"
sql = sql & "VALUES('"&fecha&"','"&login&"' ,'"&comentarios&"')"
con.Execute(sql)
end if
%>

Foro de Acotaciones al Sistema:
<HR>

<%
'se imprime el país elegido
response.write pais
Set rs = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * FROM latabla"
rs.Open sql, con, 3,3
%>

<%
rs.moveLast
Do while not RS.BOF %>
<HR>
<B>Fecha:</B> <%= RS("fecha")%><BR>
<B>Nombre Usuario:</B> <%= RS("login")%><BR>
<B>Comentarios:</B> <%= RS("comentario")%><BR>

<%
RS.MovePrevious ()
Loop
%>

<form name="formulario" action="foro.asp" method=post>

<textarea name="comentarios" rows=5 cols=70>
</textarea>
<br>
<input type="Reset" value="Borrar" name="RESET">
<TABLE>
<TR>
<td><select name="slcPais" class="cajaTexto" onchange="document.getElementById('formulario').su bmit()" >
<%
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM paises"
rs.Open sql, con, 3,3
if Request("slcPais")="" then
%>
<option value="" selected>Seleccione un Pais</option>
<%
Do while not RS.EOF %>
<option value=<%=RS("pais")%>><%=RS("nombre")%></option>
<% RS.MoveNext()
loop
else
Do while not RS.EOF
if Request("slcPais")= RS("pais") then %>
<option value=<%=RS("pais")%>><%=RS("nombre")%></option>
<%else%>
<option value=<%=RS("pais")%>><%=RS("nombre")%></option>
<% end if
RS.MoveNext()
loop
end if%>
</select></td>
</TR>
</TABLE>
</form>

</BODY>
</HTML>

este codigo está probado, y lo puedes probar,también te envio el diseño de la BD Acces:

nombre: mi foro

tablas:

latabla
fecha | login | comentario

paises
pais | nombre
CHILE CHILE
BRASIL BRASIL
USA ESTADOS UNIDOS
ARG ARGENTINA


Espero que sea de ayuda ....

Última edición por AntofagastaCL; 12/02/2004 a las 15:31
  #8 (permalink)  
Antiguo 25/03/2004, 11:03
 
Fecha de Ingreso: marzo-2004
Mensajes: 1
Antigüedad: 20 años, 2 meses
Puntos: 0
Saludos,
tengo un problema y a lo mejor es algo tribial por que soy nueva programando en ASP.

Tengo dos opciones en el combo box, lo que quiero es que al escoger cada opcion, se abra una pagina nueva para cada una de ellas.

Agradesco profundamente sus respuestas.
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

SíEste tema le ha gustado a 1 personas




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