> Manuales > Programación en ASP

Hacemos un stop para realizar un sencillo ejemplo en ASP que trata el envío de formularios y el uso de bucles.

Vamos a ver un sencillo ejemplo realizado en ASP que sirva para ilustrar el trabajo desarrollado hasta el momento en el manual de la tecnología. Este ejemplo es muy básico, aunque experimenta con varias de las utilidades vistas hasta ahora, como el trabajo con bucles y los objetos request y response, que sirven para recibir datos e imprimirlos en la página.

El ejemplo en concreto se trata de un generador de tablas de multiplicar. En principio, cuando se accede al archivo, se muestra la tabla del cero y un formulario donde podemos seleccionar otro número y ver su tabla de multiplicar. Al enviar el formulario se accede a la misma página, aunque ahora aparecería la tabla de multiplicar del número seleccionado en el formulario.

Formulario para seleccionar un número

Veamos ahora el formulario que muestra un campo de selección con los números del 1 al 10. Este formulario servirá para que el visitante pueda seleccionar la tabla que desea ver.

<form name=tb action=tb.asp method=post>
<P align=center>Seleccione una opción
<SELECT align=center name=tab style="WIDTH: 40px">
    <OPTION selected>1</OPTION>
    <OPTION >2</OPTION>
    <OPTION >3</OPTION>
    <OPTION >4</OPTION>
    <OPTION >5</OPTION>
    <OPTION >6</OPTION>
    <OPTION >7</OPTION>
    <OPTION >8</OPTION>
    <OPTION >9</OPTION>
    <OPTION >10</OPTION>
</SELECT>
<br>
<INPUT type=submit value="Ver tabla" >
</P>
</form>


Hay que fijarse que la página que va a recibir el formulario se llama tb.asp, según se indica en el atributo action. El único campo del formulario que se envía es llamado "tab", y guarda el número que se haya seleccionado.

Código para mostrar la tabla de multiplicar correspondiente

Empezamos recibiendo el dato del formulario que nos indica la tabla que el usuario quiere visualizar. En un principio no se recibe ningún dato del formulario (hasta que no se envíe el formulario no se sabe que tabla se desea ver y por tanto, habíamos dicho que se iba a mostrar la tabla del cero). Así pues, si no recibo nada, inicializo a cero la variable i, que guarda el número de la tabla de multiplicar a mostrar. En caso de que sí se reciba algo del formulario, se inicializa la variable i al valor recibido en el campo "tab".

'si no se está recibiendo datos del formulario
if request.form("tab")="" then
    'inicializo la tabla a mostrar a cero
    i=0
else
    'inicializo la tabla a mostrar al dato recibido en el formulario
    i=Request.Form ("tab")
end if


Ahora veremos un bucle que muestra la tabla de multiplicar del valor recibido por formulario. Este bucle hace una repetición desde 1 al 10 y se van realizando las multiplicaciones y mostrando los resultados.

'muestro la tabla del número que recibo del formulario
Response.Write "Tabla del " & i%><br><br><%
'realizo un bucle del 1 al 10 para mostrar la tabla correspondiente
for a=1 to 10
    Response.Write i &" x " & a & " = " & i*a%>
    <br>
    <%
next
%>


Código completo

El código completo del ejemplo se puede ver a continuación. Espero que sirva de ayuda para las personas que empiezan a dar sus primeros pasos con ASP.

<%@ Language=VBScript %>
<HTML>
<HEAD><title>Tablas de Multiplicar....</title>
</HEAD>
<BODY bgColor=skyblue>

<div align="center">

<form name=tb action=tb.asp method=post>
<P align=center>Seleccione una opción
<SELECT align=center name=tab style="WIDTH: 40px">
    <OPTION selected>1</OPTION>
    <OPTION >2</OPTION>
    <OPTION >3</OPTION>
    <OPTION >4</OPTION>
    <OPTION >5</OPTION>
    <OPTION >6</OPTION>
    <OPTION >7</OPTION>
    <OPTION >8</OPTION>
    <OPTION >9</OPTION>
    <OPTION >10</OPTION>
</SELECT>
<br>
<INPUT type=submit value="Ver tabla" name=submit1 >
</P>
</form>
<%

'si no se está recibiendo datos del formulario
if request.form("tab")="" then
    'inicializo la tabla a mostrar a cero
    i=0
else
    'inicializo la tabla a mostrar al dato recibido en el formulario
    i=Request.Form ("tab")
end if

'muestro la tabla del número que recibo del formulario
Response.Write "Tabla del " & i%><br><br><%
'realizo un bucle del 1 al 10 para mostrar la tabla correspondiente
for a=1 to 10
    Response.Write i &" x " & a & " = " & i*a%>
    <br>
    <%
next
%>
</div>

</BODY>
</HTML>

Miguel Gonzalez

Manual