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

problema con form+combobox y ASP

Estas en el tema de problema con form+combobox y ASP en el foro de ASP Clásico en Foros del Web. Hola tengo un problema tengo un combobox en el tipico select en su interior una sentencia para que fuera a la base de datos y ...
  #1 (permalink)  
Antiguo 28/09/2004, 09:02
 
Fecha de Ingreso: septiembre-2004
Mensajes: 141
Antigüedad: 20 años, 7 meses
Puntos: 0
Exclamación problema con form+combobox y ASP

Hola tengo un problema

tengo un combobox en el tipico select en su interior una sentencia para que fuera a la base de datos y recupere toos los nombres de los departamentos de una empresa, ya mi problema es que quiero que cuando se pinche y se envie el formulario se vayan 2 vaiables dentro del name=gerencias envez de solo una sola variable



Acontinuacion el codigo:

===============================================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/biblioteca.asp" -->
<%
Dim RsG
Dim RsG_numRows

Set RsG = Server.CreateObject("ADODB.Recordset")
RsG.ActiveConnection = MM_biblio_STRING
RsG.Source = "SELECT * FROM dbo.Gerencia ORDER BY system_id ASC"
RsG.CursorType = 0
RsG.CursorLocation = 2
RsG.LockType = 1
RsG.Open()

RsG_numRows = 0
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p>GERENCIAS</p>
<form name="form1" method="post" action="superintendencia.asp">
<p>

***aqui pueden ver name con gerencia , dentro de esta deben ir las 2 variables, ya que hasta donde me acuerdo el es quien lleva las variables de una pagina a otra*****

<select name="gerencia">
<option selected value="">- - Seleccione - -</option>
<%
while Not Rsg.EOF
gerencia= Rsg("system_id")
nombre = Rsg("nom_ge")
**** aqui pueden ver el option con gerencia y el nombre pero solo en el select esta llevando el gerencia yo quiero uqe pasen el gerencia y el nombre y ademas solo recupero gerencia ya que el request.form nombre no llega nada*****
Response.Write "<option value=""" & gerencia & """>" & nombre & "</option>"
Rsg.MoveNext
wend
Rsg.Close
%>
</select>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>
</body>
</html>

================================================== =0
FIN CODIGO
================================================00 0

en la pagina que recive tengo

gerencia=Request.Form("gerencia")
nombre=Request.Form("nombre")
response.Write(gerencia)
response.Write(nombre)


necesito que pasen las 2 variables porque tengo un query que hacer en este segundo nivel de la base de datos y necesito saber a que gerencia corresponde y el nombre


bueno la idea es saber como hacer pasar las variables (mas de 2) en el select que solo me traspasa solo gerencia y no gerencia y nombre gerencia.
  #2 (permalink)  
Antiguo 28/09/2004, 10:00
 
Fecha de Ingreso: septiembre-2004
Mensajes: 141
Antigüedad: 20 años, 7 meses
Puntos: 0
yapppooooooo como

nadie alguein que cache como meter las 2 variables para la sieguiente pagina
  #3 (permalink)  
Antiguo 28/09/2004, 10:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Response.Write "<option value=" & chr(34) & gerencia & "," & nombre & chr(34) & ">" & nombre & "</option>"

Pasarán en el value el contenido de garencia y nombre separados por "," (valor1,valor2)

No se si esto es lo que quieres...


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 28/09/2004, 10:18
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
Recordá que un OPTION sólo pasa lo que haya en su VALUE (en tu caso 'gerencia'). Lo que muestra no se pasa (en tu caso 'nombre'), entonces hay que hacer una "pequeña trampa" que consiste en colocar como VALUE el valor verdadero ('gerencia') y, separado por algún caracter (yo usé "|"), la "etiqueta" ('nombre').

Bueno, cambiá ésta línea:

Código:
Response.Write "<option value=""" & gerencia & """>" & nombre & "</option>"
Por ésta:

Código:
Response.Write "<option value=""" & gerencia & "|" & nombre & """>" & nombre & "</option>"

Y luego en la página que recibís los valores le aplicás un split() al par 'gerencia|nombre' y le asignás el de índice 0 a la gerencia y el de índice 1 al nombre:


Código:
gerencia_nombre = Split(Request.Form("gerencia"), "|")
gerencia = gerencia_nombre(0)
nombre = gerencia_nombre(1)
response.Write(gerencia)
response.Write(nombre)

Saludos


Editando: Se me adelantó u_g
__________________
...___...

Última edición por AlZuwaga; 28/09/2004 a las 10:19
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 11:18.