12 - Formulario HTML (control checkbox)


Otra forma de hacer selecciones múltiples es utilizar un conjunto de controles de tipo checkbox. Cada control de tipo checkbox es independiente.

Resolvamos el problema del concepto anterior empleando dos controles de tipo checkbox.

pagina1.html

<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina1.asp" method="post">
Ingrese primer valor:
<input type="text" name="valor1">
<br>
Ingrese segundo valor:
<input type="text" name="valor2">
<br>
<input type="checkbox" name="check1" value="suma">sumar
<br>
<input type="checkbox" name="check2" value="resta">restar
<br>
<input type="submit" value="operar">
</form>
</body>
</html>

Como podemos observar:

<input type="checkbox" name="check1" value="suma">sumar
<br>
<input type="checkbox" name="check2" value="resta">restar
<br>

cada control de tipo checkbox define en la propiedad name un nombre distinto (check1 y check2)

Es importante notar que definimos la propiedad value para cada checkbox, este valor se rescatará en caso que el checkbox esté seleccionado.

Veamos ahora el archivo que contiene el programa ASP.
pagina1.asp

<%option explicit%>
<html>
<head>
<title>problema</title>
</head>
<body>
<%
dim v1,v2,suma,operacion,resta
v1=request.form("valor1")
v2=request.form("valor2")
operacion=request.form("check1")
if (operacion="suma") then
  suma=cint(v1)+cint(v2)
  response.write("la suma de los dos valores es:")
  response.write(suma)
  response.write("<br>")
end if
operacion=request.form("check2")
if (operacion="resta") then
  resta=cint(v1)-cint(v2)
  response.write("la diferencia de los dos valores es:")
  response.write(resta)
end if
%>
</body>
</html>

Rescatamos el contenido del primer checkbox:

operacion=request.form("check1")

Si el primer checkbox está seleccionado la variable opción almacena el contenido de la propiedad value, en caso de no estar seleccionado la variable operación almacena una cadena vacía que es el valor retornado por la llamada al método form del objeto request pasando como parámetro el name del primer checkbox.

Con una estructura if verificamos si el valor devuelto corresponde al string "suma":

if (operacion="suma") then
  suma=cint(v1)+cint(v2)
  response.write("la suma de los dos valores es:")
  response.write(suma)
  response.write("<br>")
end if

Luego hacemos la misma actividad para rescatar el valor del segundo checkbox y almacenamos el valor devuelto en la misma variable operacion (se pierde el valor anterior):

operacion=request.form("check2")
if (operacion="resta") then
  resta=cint(v1)-cint(v2)
  response.write("la diferencia de los dos valores es:")
  response.write(resta)
end if

Los paréntesis en la condición de un if son opcionales.


Retornar