..


Enlaces patrocinados

Enviar un formulario en varias etapas

Artículo escrito por Luca Ruggiero

A menudo, cuando el envío de datos a través de un formulario, es preferible no presentar al usuario una forma mucho tiempo para no desalentarlo de compilación de una aparentemente larga y compleja para este propósito, por lo tanto, es aconsejable dividir el formulario en varias etapas que se presentan de manera secuencial.

Generalmente, se utiliza para asociar - en cada bloque - los datos consistentes, como un pottrebbe formulario de inscripción se divide de la siguiente manera: nombre de usuario, contraseña y correo electrónico en el primer bloque del bloque, los datos personales en el otro bloque y así sucesivamente.

. Gracias a las funciones incorporadas en NET Framework, ASP.NET es muy simple en la consecución de un sistema en el que, en la misma página, ocurrirá lo siguiente:

  1. se muestra un bloque de datos;
  2. que ver;
  3. si es correcta, nos escondemos del bloque para pasar a la siguiente.
Y así sucesivamente.

Hemos llegado a un ejemplo práctico, a partir del HTML, construido a través de los controles de servidor. NET:






 <form runat="server">



  



 <p> <asp:literal id="numero" runat="server"/> </ p>



  



 <p> <asp:textbox id="uno" runat="server"/> </ p>



  



 <p> <asp:Button runat="server" id="c1" text="Continua" onclick="Step1"/> </ p>



  



 <p> <asp:textbox id="due" runat="server"/> </ p>



  



 <p> <asp:Button runat="server" id="c2" text="Continua" onclick="Step2"/> </ p>



  



 <p> <asp:textbox id="tre" runat="server"/> </ p>



  



 <p> <asp:Button runat="server" id="c3" text="Conferma" onclick="Step3"/> </ p>



  



 <p> <asp:literal id="messaggio" runat="server"/> </ p>







 </ Form>



En nuestro ejemplo, cada paso se compone de un solo campo y un botón de envío: todos los botones dar el siguiente paso, pero el último material que conduzca a la gestión de datos.

Tomamos nota de que el principio y el fin se utilizan dos elementos de texto: el primero se utiliza para indicar el número del paso actual, mientras que el inferior se muestran los mensajes de error y de confirmación de transacciones.

Vamos a VB.NET código:






 <script runat="server" Language="VB">







 Private Sub Page_Load (Sender As Object, e As System.EventArgs)



  



 Si Page.IsPostBack = False Then



    



 numero.Text = "Paso 1"



    



 due.Visible = false



    



 tre.Visible = false



    



 c2.Visible = false



    



 c3.Visible = false



  



 End If







 End Sub







 Paso 1 Sub privado (sender As Object, e As System.EventArgs)



  



 Si uno.Text = "" Then



    



 messaggio.Text = "necesario"



    



 Exit Sub



  



 End If



  



 numero.Text = "Paso 2"



  



 uno.Visible = false



  



 due.Visible = true



  



 c1.Visible = false



  



 c2.Visible = true



  



 messaggio.Text = ""







 End Sub







 Paso 2 Sub privado (sender As Object, e As System.EventArgs)



  



 Si due.Text = "" Then



    



 messaggio.Text = "necesario"



    



 Exit Sub



  



 End If



  



 numero.Text = "Paso 3"



  



 due.Visible = false



  



 tre.Visible = true



  



 c2.Visible = false



  



 c3.Visible = true



  



 messaggio.Text = ""







 End Sub







 Paso 3 Sub privado (sender As Object, e As System.EventArgs)



  



 Si tre.Text = "" Then



    



 messaggio.Text = "necesario"



    



 Exit Sub



  



 End If



  



 numero.Text = "Resultado"



  



 tre.Visible = false



  



 c3.Visible = false



  



 End Sub







 </ Script>



En primer lugar, el evento de carga de la página se produjo PostBack para verificar que el contenido de esta página no está "distorsionado". En el interior, mostrar el mensaje que aparecerá como título de la primera etapa y ocultar todos los elementos de los siguientes pasos.

Luego tenemos las rutinas que verifican el cumplimiento de la corriente de campo, ocultando el paso anterior y la próxima edición.

Sólo el último paso no se mostrará, por supuesto, el siguiente paso, pero llevará a cabo la gestión de datos: en nuestro ejemplo, sólo tiene que mostrar los datos de vídeo.

Dejo al lector a hacer lo siguiente: crear en cada paso del lado del servidor y el uso de etiquetas para ocultar todos los campos en un solo paso (por ejemplo, nombre, apellidos, nombre de usuario, contraseña, correo electrónico, página web).

En la misma categoría ...
E-Learning
ASP (Advanced) ASP (Advanced)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 39 €.
ASP.NET (Curso) ASP.NET (Curso)
Ciclo completo para la creación de aplicaciones Web y un 15% de descuento hasta el 14/09/2011.
SQL y bases de datos (Avanzado) SQL y bases de datos (Curso)
Crear y gestionar bases de datos relacionales. A partir de 39 €.
Enlaces patrocinados