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

ASP, ACTIVEX, REFRESH, COMBOBOX Solo para Maestros

Estas en el tema de ASP, ACTIVEX, REFRESH, COMBOBOX Solo para Maestros en el foro de ASP Clásico en Foros del Web. Necesito saber como recuperar valores de textos después de un refresh... me explico: tengo un pagina de formulario para ingreso de datos hecha en ASP. ...
  #1 (permalink)  
Antiguo 29/01/2004, 10:12
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
ASP, ACTIVEX, REFRESH, COMBOBOX Solo para Maestros

Necesito saber como recuperar valores de textos después de un refresh... me explico:
tengo un pagina de formulario para ingreso de datos hecha en ASP. Esta contine varias cajas de texto, y además varios combobox. Ahora, estos combobox se cargan de una base de datos através de un dll realizada en VB 6. Por ejemplo tengo un combo de región, al que si se selecciona una región, este realiza un refresh de la pagina y carga el combo de provincia, el cual también si se elige una provincia, hace un refresh, y se carga el combo de ciudades de la respectiva region y la respectiva provincia. es decir en total tengo tres combos una de region, otro de provincia y otro de ciudad. El problema resulta cuando algo el refresh, ya que todos los datos de los campos text se borran. Además una vez que llene todos los datos tengo un botón de aceptar que envia todos los datos del form a otra pagina.
  #2 (permalink)  
Antiguo 29/01/2004, 20:19
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 4 meses
Puntos: 6
HOLA
no se si entendi
por que no guardas los datos para enviar por formulario en un campo oculto o hidden field
una vez que envies el formulario enviaras todos los dados de los campos ocultos
<input name="id_campo" type="hidden" id="id_campo" value="tu _valor">
no se si es esto a lo que refiers
a no ser que expliques de que va la .dll y demas
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #3 (permalink)  
Antiguo 30/01/2004, 07:22
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
...Bien si no me entendieron aqui va un poco de codigo para que les duela un poco la cabeza:

<%

'Esta pagina se llama DatosPaciente.asp


'recupera un identificador de la URL
numero= trim(Request.QueryString("id") )

'Se crea el objeto controlador que sirve para ocupar los metodos de la DLL
Set controlador = Server.CreateObject("Hospital.ControladorLogico")

'Constructor que se encuentra en la DLL
'por constructor me refiero al metodo que instancia ciertas clases
'(forma de programación orientada a objetos)
controlador.constructorControladorLogico

'este if sirve para que se cargen los valores del VARIANT una sola vez para que no acceda a la bd cada vez que se hace el refresh a la pagina

if trim(request.querystring("flag"))="" then
'se obtienen valores de una VARIANT de la Base de datos a traves de una DLL, el cual se
'almacena de dPaciente
dPaciente = controlador.desplegarDatosPaciente(numero)
'Se obtiene una ciudad
ciudad = dPaciente(13)
end if


'pregunta si la region es vacia, si los es se llena la region y provincia con los datos que se encuentran en la base de datos
if trim(request.querystring("reg"))="" then
region = dPaciente(12)
provincia = dPaciente(14)
else
'en caso contrario, si no es vacia la region, quiere decir que se hizo un refresh del
'combobox name="region"
'ahora se pregunta si la provincia es la que esta vacia obtenida de la URL
if trim(request.querystring("provi"))="" then
'Se obtiene la Region de la URL
region=trim(request.querystring("reg"))
'if que consulta si la provincia hay que obtenerla de la BD
if trim(request.querystring("flag"))="" then
provincia = dPaciente(14)
end if
else
'si no hay provincia entonces se obtiene de la URL la region y la provincia
region=trim(request.querystring("reg"))
provincia =trim(request.querystring("provi"))
end if
end if

'si ya se cargaron los datos de la BD, ya no se vuelven a cargar
if trim(request.querystring("flag"))="" then
rutPaciente = dPaciente(5)
end if
%>


<html>
<body>


<div align="center"><img src="logos/Datos%20personales%20Paciente.png" width="482" height="57"></div>
<hr>
<!-- tabla grande -->
<TABLE align="center" cellspacing="0" cellpadding="2" border="1" bordercolor=#000080 bgcolor="#FEF4CF">
<TR>
<TD> <font color="#000000">
<!-- form -->
</font> <FORM name="datoPac" METHOD=POST ACTION="actualizar.asp?numero=<%=trim(numero)%>">
<FONT SIZE="" COLOR="" face="arial"><B>
<TABLE height="359" cellspacing="2">
<TR>
<TD ><font color="#000000"><strong><font size="2">RUT</font></strong></font></TD>
<TD><font color="#000000">

<!-- ... Uno de los tantos valores tipo txt que quiero que no se pierdan al realizar el refresh..... -->


<INPUT NAME="RUT" TYPE="text" id="RUT" value="<%=rutPaciente%>" size="10" maxlength="10">
</font></TD>
</TR>

<!-- ... Mas codigo HTML..... -->


<tr>
<td > <font color="#000000"><b><font size="2" face="arial">REGI&Oacute;N</font></b>
</font></td>
<td> <font color="#000000">

<!-- ... select que hace que se produzca el refresh de la pagina. Necesario para poder activar los metodos de los combobox que se llaman de la DLL..... -->

<select name="region" type="submit" onchange ="location.href='DatosPaciente.asp?reg=' + this.options[this.selectedIndex].value + '&flag=s&id=<%=numero%>'">

<!-- ... se actualiza el combo de la region, llamando un metodo de la DLL, y se envia un
codigo de la region que se hubiese seleccionado del combo, para que en el combo se visualize
la correspondiente region.... -->

<% controlador.desplegarRegiones trim(region)%>


</select>
</font></td>
</tr>
<tr>
<td> <font color="#000000"><b><font size="2" face="arial">PROVINCIA</font></b>
</font></td>
<td> <font color="#000000">

<!-- ... select que hace que se produzca el refresh de la pagina. Necesario para poder activar los metodos de los combobox que se llaman de la DLL ..... -->

<select name="provincia" onchange = "location.href='DatosPaciente.asp?reg=<%=trim(regi on)%>&provi=' + this.options[this.selectedIndex].value + '&flag=s&id=<%=numero%>'" >

<!-- ... se actualiza el combo de la provincia, llamando un metodo de la DLL, y se envia un codigo de la region y de la provincia que pertenece a dicha region la cual se selecciono del combo de region y provincia, para que en el combo se visualize
la correspondiente provincia.... -->

<% controlador.desplegarProvincia trim(region),trim(provincia)%>



</select>
</font></td>
</tr>
<tr>
<td ><font color="#000000"><strong><font size="2">CIUDAD</font></strong></font></td>
<td> <font color="#000000">
<select name="ciudad" >


<!-- ... se actualiza el combo de la ciudad, llamando un metodo de la DLL controlador.desplegarCiudad, y se envia un
codigo de la region, provincia y ciudad para que se desplieguen los datos correspondientes de la region y la provincia elegidas .... -->

<%
if trim(provincia)<>"" then
controlador.desplegarCiudad trim(region),trim(provincia),trim(ciudad)
else
%>
<option value=-1>Ciudad</option>
<%end if%>
</select>
</font></td>
</tr>

<!-- ... mas codigo HTML ..... -->

Última edición por AntofagastaCL; 30/01/2004 a las 07:55
  #4 (permalink)  
Antiguo 30/01/2004, 08:13
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 7 meses
Puntos: 13
Lo que debes hacer es que cuando seleccione el usu el combo se envie el formulario a esa misma página y así ya tienes todos los valores, despues lo unico que tienes que hacer es:

<input type="text" name="nombre" value="<%=request.form("nombre")%>">

Antes comprueba que no esten todos los datos metidos, si lo están mete los datos en la bd o lo que quieras.
  #5 (permalink)  
Antiguo 30/01/2004, 08:30
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
... lo que pasa es que los request.form("nombre") no me sirven, ya que cuando en los combobox realizó una modificacion, este, no activa el form, y no se porque, además no quiero agregar botones para que se active el form, y además si no redirigo la pagina asi misma con los comobobox, no puede activar el resto de los comobobox que se cargan de los metodos contenidos en la DLL..
¿me habré explicado bien?

... en realidad tengo una solucion pero no me gusta ya que tengo que enviar todos los datos por la url, de la siguiente manera:

<select name="region" onchange ="location.href='DatosPaciente.asp?reg=' + this.options[this.selectedIndex].value + '&flag=s&id=<%=numero%>&rut=' + RUT.value ">

<% controlador.desplegarRegiones trim(region)%>

</select>

... asi que, tengo como 15 cajas de texto, y para estar enviandolas todas por la url, es poco elegante ...

Última edición por AntofagastaCL; 30/01/2004 a las 08:56
  #6 (permalink)  
Antiguo 30/01/2004, 09:01
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 7 meses
Puntos: 13
Podrías hacer esto:

<select name="region" onchange="document.getElementById('id_del_form').s ubmit()">
  #7 (permalink)  
Antiguo 30/01/2004, 09:14
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
por ke no trabajas con listas enlazadas?...asi te ahorras el tema de tener que refrescar la pagina cada vez que seleccionas un combo...es lo mas optimo

saludos
  #8 (permalink)  
Antiguo 30/01/2004, 09:35
 
Fecha de Ingreso: enero-2004
Ubicación: Antofagasta
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
gracias jercer, era precisamente lo que anda buscando....
saludo a todos los que aportaron. Desde Antofagasta,Chile 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 19:10.