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

Formulario con desplegables

Estas en el tema de Formulario con desplegables en el foro de ASP Clásico en Foros del Web. Hola, tengo una web que trabaja en asp con una base de datos en acces. Lo que quiero hacer, es que dependiendo de lo que ...
  #1 (permalink)  
Antiguo 11/11/2009, 05:13
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 18 años, 7 meses
Puntos: 0
Formulario con desplegables

Hola, tengo una web que trabaja en asp con una base de datos en acces.
Lo que quiero hacer, es que dependiendo de lo que selecciones en un desplegable, en otro de los desplegables se actualicen los campos. Parece algo sencillo pero no se porque no me funciona y llevo tiempo dandole vueltas, asi que os pego el codigo y a ver si alguien me puede echar un cable.

<select name="precio" id="precio" class="input">
<option value="01" selected>(cualquiera)</option>
<% if tipo_operacion = "ALQUILER" then %>
<option value="<=600">Menos de 600</option>
<option value="between 600 and 900">Entre 600 y 900</option>
<option value="between 900 and 1200">Entre 900 y 1200</option>
<option value=">1200">Mas de 1200</option>
<% else%>
<% AbrirTabla RS, "SELECT * FROM T_preciobuscador order by precio*1"
if not RS.eof then
i=1
inicial = campo(RS,"precio")
%>
<option value="<= <%=inicial%>">Menos de <%=Format_EuroR(inicial)%></option>
<%rs.movenext
end if
while not RS.eof
i=i+1
final = campo(RS,"precio")%>
<option value="between <%=inicial%> and <%=final%>">De <%=Format_EuroR(inicial)%> a <%=Format_EuroR(final)%></option>
<% inicial = final
RS.movenext
wend %>
<option value=">= <%=final%>">Más de <%=Format_EuroR(final)%></option>
<% CerrarRS RS %>
<% end if%>
</select></td>
</tr>
<tr align="left">
<td height="19" align="right"><div align="right" class="Estilo8"></div></td>
<tr align="left">
<td align="left"><select name="tipo_operacion" id="tipo_operacion" class="input" onChange="refresh()">
<option value="todos" selected>(cualquiera)</option>
<option value="VENTA">Venta</option> <option value="TRASPASO">Traspaso</option>
<option value="ALQUILER">Alquiler</option>
<option value="ALQUILER OPC. COMPRA">Alquiler con opci&oacute;n a compra</option>
<option value="ALQUILER TEMPORADA">Alquiler Temporada</option>
<option value="VENTAPR">Obra Nueva</option>
</select>

Gracias de antemano por la ayuda!
  #2 (permalink)  
Antiguo 11/11/2009, 06:15
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Formulario con desplegables

Hola

Para ello necesitas usar AJAX

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 11/11/2009, 06:16
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 18 años, 9 meses
Puntos: 41
Respuesta: Formulario con desplegables

Te tira algun error el javascript? por la llamada de 'onChange="refresh()">'
Deberas usar AJAX para tu proposito...
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras

Última edición por Wasper; 11/11/2009 a las 06:18 Razón: ttsssss... te adelantaste Adler :P
  #4 (permalink)  
Antiguo 11/11/2009, 06:29
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario con desplegables

ajax!! buff....alguna orientacion?

no me tira ningun error. simplemente no me entra nunca en la sentencia if tipo_op=alquiler....
  #5 (permalink)  
Antiguo 11/11/2009, 08:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Formulario con desplegables

si queres hacerlo sin un post, necesitas ajax.
Este creo que es el que use varias veces y funciona bien
triple doble v hiteshagrawal punto com
/ajax/ajax-programming-with-jsp-and-servlets
(no me deja poner links)

Si no, hace que el cambio de seleccion te haga el post y tomas el valor que te manda ahi.

Proba el firefox develper tool que te tira mejores detalles con los errrores javascript.

saludos
  #6 (permalink)  
Antiguo 11/11/2009, 08:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario con desplegables

como haria el post? con el evento onchange()?
  #7 (permalink)  
Antiguo 12/11/2009, 08:21
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Formulario con desplegables

para hacer un post, si en el onchage podes llamar un javascript que te haga el post del formulario que tenes.
Si usas dreamweaver tenes un jump dropdown o algo asi que te hace todo automatico creo
  #8 (permalink)  
Antiguo 16/11/2009, 10:02
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario con desplegables

he probado el dropdown de dreamweaver y no me sirve, porque me hace un post con cada uno de los elementos de la lista. Lo bueno sería que con uno de los elementos saltase a otra pagina pero con los otros solo guarde el valor normalmente.
alguna sugerencia??
Gracias!
  #9 (permalink)  
Antiguo 16/11/2009, 11:48
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Formulario con desplegables

La forma en que yo haría lo que necesitas, sin usar ajax es enviar los datos que necesitas nuevamente a la página que está procesando.
Esto sería de la siguiente manera:
Suponiendo que tu página se llama formulario.asp
tenés un menú tipo_operacion, que listará diferentes operaciones, cargando los tipos de operación de una tabla, o bien directamente en opciones prefijadas desde el código.
en el option de las operaciones, deberías colocar algo así
<option value="formulario.asp?tipo_operacion='el tipo de operación aquí'">Descripción</option>
Para que esto funcione, en el evento onChange del Select, debes colocar una llamada a la función JumpMenu en Javascript, que te detallo aquí abajo con los siguientes parámetros: (self, this,1)

Existe la opción JumpMenu en Dreamweaver que hace exactamente lo mismo que pongo aquí abajo, pero como no recuerdo si viene por defecto o era una extensión, te copio el código para que puedas usarlo

Código PHP:
function JumpMenu(targ,selObj,restore){ //v3.0
  
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (
restoreselObj.selectedIndex=0;

De esta forma, cuando cambia la opción en el menú de selección, la página se recargará con una variable por get que identifica la opción que seleccionaste.

Luego, antes de realizar la comparación, cargas lo que llegó por Get en una variable para poder condicionar el menú siguiente, y vas a tener que tener cuidado de colocar un campo hidden con el valor seleccionado, si es que querés que el valor del menú de selección del tipo de operación se guarde en alguna parte.

Espero haber aclarado el panorama, saludos y éxitos!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #10 (permalink)  
Antiguo 18/11/2009, 10:37
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario con desplegables

pues...el panorama es un lio jejeje!! pero voy a probarlo y ya cuelgo por aqui como me va!

gracias!!
  #11 (permalink)  
Antiguo 18/11/2009, 10:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 80
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Formulario con desplegables

Dependiendo que quieras con asp si se puede:

IdPais=Request.QueryString("IdPais")%>
<Select Name="Pais" onchange="location.href='MismaPag.asp?IdPais=' + this.value + '&Log=<%=Nombre%>' " >
<option value="0">[Elegir]</option>
<%
While Not objRS.EOF

response.write("<option")
if int(IdPais) = objRS("Id_Pais") then
response.write(" Selected")
end if
response.write(" value=" & objRS("Id_Pais") & ">" & objRS("Nombre") & "</option>")
objRS.MoveNext
Wend
oConn.Close
set objRS = nothing
set oConn = nothing %>
</Select>

Este codigo por ser asp te regarga completamente la pagina, por eso puse el "Log=<%=Nombre%>" para poder mantener una variable mientras se recarga la pagina cada vez que enlazas una lista, puedes colocar cuantas listas quieras con este codigo.

Ten en cuenta que para cada select que pongas debes enviar las variables:
1- <Select Name="Pais" onchange="location.href='Registro.asp?IdPais=' + this.value + '&Log=<%=Nombre%>' " >
2- <Select Name="Depto" onchange="location.href='Registro.asp?IdPais=<%=Id Pais%>' + '&IdDepto=' + this.value + '&Log=<%=Nombre%>' " >
3- <Select Name="Ciudad" onchange="location.href='Registro.asp?IdPais=<%=Id Pais%>' + '&IdDepto=<%=IdDepto%>' + '&IdCiudad=' + this.value + '&Log=<%=Nombre%>'">

Espero te sirva.
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 21:36.