Recuperar datos de un formulario

Otra preguntita sobre ultradev. Tengo una página www.aunpaso.com. En la sección de segunda mano (www.publiweb.net/aunpaso/busqueda.asp) haces un primer filtrado en 3 menús: comprar/alquilar, tipo de inmueble y localidad. Se hace la consulta a mi base de datos y te saca los registros en una nueva página (www.publiweb.net/aunpaso/filtrado.asp). En esa página, lo que en realidad quiero hacer es que abajo, donde puedes volver a hacer una nueva búsqueda con criterios opcionales, no tengas que volver a seleccionar los 3 primeros campos (comprar/alquilar, tipo de inmueble y localidad), sino que esos valores te los coja del filtrado que hizo anteriormente. Supongo que eso se dirá en el recordset, cuando escribes el filtrado en SQL, pero no se si es ahí ni como se hace.
Otra duda es como hacer en la primera página de búsqueda, la de los 3 campos, que cuando le des al botón de buscar, si en los campos no has elegino una opción y esta lo de seleccione una opción, seleccione inmueble o seleccione localidad, te salga un mensaje de alerta diciéndote que debes seleccionar algo. He probado a hacer lo de validar formulario que tiene Ultradev en la ventana de comportamientos, pero no me vale para menús, solo para definir campos de texto, si son obligatorios o no. ¿Sera eso un javascript? ¿Conoces el código?

6 respuestas

Respuesta
1
Men!
Para mantener la selección de esos tres campos, en el recordset de filtrado debes ponerte en avanzado y decirle que los datos te vienen de un formulario y con la opción AND los vas uniendo, o sea:
campo = 'variabledeclarada1' AND campo2 = 'variabledlecarada2' AND campo3 AND 'variabledeclarada3'
cuando declares las variables tienes que decir que vienen de un formulario:
Request.Form("nombre del campo del formulario")
Si que tengo un código bastante bueno para validar formularios, con mensajes de avso y todo, mandame tu correo y te lo haré llegar.
Respuesta
1
Lo que tienes que hacer es enviarle a cada una de las páginas que estas abriendo los parámetros de las búsquedas y almacenarlas en campos invisibles para que los puedas usar.
Y con respecto a los campos de opción si son validaiones, te voy a buscar unos scripts que tengo y te los envío.
Suerte y
Respuesta
1
Te vo a contestar primero a lo segundo :
Se puede hacer validando con javascript y conociendo los elementos que manejas y sus propiedades. De todas formas, deberías validar con asp también, porque como sabes, javascript lo pueden deshabilitar, pero eso por ahora no te afecta.
Un script para validar datos en combos o listas como la que tienes en esa page.
function valida(nombre) {
var nombre = document.nombre_formulario.nombre_caja_texto.value ;
if (nombre=="seleccione ...") {
alert("Debe seleccionar algo");
return false;
}
}
Ten encuenta que lo hago sobre la marcha, por lo que te recomiendo estudiar bien la aprte de los forms y javascript. Es bastante sencillito y solo tienes que tener claro la jerarquía JS. Fíjate en document. form. Caja. value es del tipo document y devuelve un valor . la propiedad NAME de cada caja, como ya sabras, es la forma burda q tiene html de asignar variables, usalas en javascript.
Con respecto a la otra pregunta, se puede controlar casi de la misma manera, puedes dejar fijo el valor del campo en el evento onChange del select.
Respuesta
1
Como estas Pedroche, respecto a la primera pregunta sobre la selccion de los 3 primeros campos te sugiero que utilices el objeto Session() ya que con el guardar los valores de un formulario mientras este la conexión activa en decir que podrás referenciar a cualquier valor de un formulario anterior ejm. tipo_inmueble=session("Tipo") y cuando hagas tu consulta escribirás por ejm: "select * from Productos where Tipo_inmueble='"&session("Tipo")&"'".
El objeto session() desaparece cuando se ha cerrado todas la páginas y no existe una conexión activa. (¿Recuerdas cuándo abres una sesión en tu correo electrónico? Ahí también se trabaja con session).
La respuesta a la otra pregunta:
Para validar que los campos no estén vacíos puedes hacer con ASP algo así como:
'si el campo comprar/alquilar esta vacio
<%if Session("comprar_alquilar")= "" then
Response.Write"<html>
Response.Write"<center><h1><font color='#E1D797'>Primero Debe Seleccionar un valor</font></h1><a href='Acceso.htm'>Regresar Pagina Principal</a></b></center>"
Response.Write"</html>"
else
'Continuar normalmente como antes
%>
________-
Aqui tienes otro ejemplo
<SCRIPT LANGUAGE="VBScript">
<!--
Sub btnEnter_OnClick
Dim TheForm
Set TheForm = Document.MiFormulario
If session(Valor_seleccion)<>"" Then
TheForm.submit
Else
Msgbox "Seleccione un campo."
End if
End Sub
//-->
</SCRIPT>
_________
Otra forma de hacer que no quede en blanco es cargar un valor por defecto a cada valor del menu.
____________________________________________________________
Ojala te sirva de algo, no dude en enviarme tus comentarios.
Un saludo
_______________
[email protected]
Respuesta
Lo que te recomiendo... es que en la web de búsqueda... antes de pasar los parámetros a la base de datos y recoger resultados.. lo almacenes esos valores en una variable global que se llama Session.
Con esto... puede volver a dejar los valores determinados..
Ej: session(valor) = combo1.text
Respuesta
-1
Lo siento amigo, tu pregunta sobrepasa mis conocimientos...
Hasta otra i perdona.
Salut.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas