Webmaster Workers utiliza cookies. Lea nuestra Política de Privacidad para obtener más información. Para eliminar este mensaje, haga clic en el siguiente botón: Acepto el uso de cookies


Formulario HTML - control select con selección múltiple (App





Veamos una variante del control select la cual permite seleccionar varias opciones de su contenido. Para esto debemos agregar la propiedad multiple cuando lo definimos:





<select name="operacion" multiple>



Con este simple cambio podemos seleccionar más de un elemento del interior del control select.



Confeccionaremos el mismo problema anterior, solo que ahora podremos seleccionar las dos operaciones en forma simultanea:





import cgi

import wsgiref.handlers



from google.appengine.ext import webapp



class Formulario1(webapp.RequestHandler):

def get(self):

self.response.out.write("""

<html>

<head></head>

<body>

<form action="procformulario1" method="post">

Ingrese primer valor:

<input type="text" name="valor1">

<br>

Ingrese segundo valor:

<input type="text" name="valor2">

<br>

<select name="operacion" multiple>

<option value="suma">Sumar</option>

<option value="resta">Restar</option>

</select>

<br>

<input type="submit" value="operar">

</form>

</body>

</html>

""")



class ProcFormulario1(webapp.RequestHandler):

def post(self):

self.response.out.write("<html><head></head><body>")

v1=int(self.request.get('valor1'))

v2=int(self.request.get('valor2'))

operaciones=self.request.get_all('operacion')

for op in operaciones:

if op=="suma":

resultado=v1+v2

self.response.out.write("El resultado de la " + op + " es " + str(resultado) + "<br>")

if op=="resta":

resultado=v1-v2

self.response.out.write("El resultado de la " + op + " es " + str(resultado) + "<br>")

self.response.out.write("</body></body>")







def main():

application = webapp.WSGIApplication([('/', Formulario1),

('/procformulario1', ProcFormulario1)],

debug=True)

wsgiref.handlers.CGIHandler().run(application)



if __name__ == '__main__':

main()



Para recuperar la lista de valores seleccionados del control select debemos llamar al método get_all del objeto request en lugar de get:





operaciones=self.request.get_all('operacion')



Luego mediante una estructura repetitiva recorremos la lista de valores devuelto y comparamos con los valores posibles:





for op in operaciones:

if op=="suma":

resultado=v1+v2

self.response.out.write("El resultado de la " + op + " es " + str(resultado) + "<br>")

if op=="resta":

resultado=v1-v2

self.response.out.write("El resultado de la " + op + " es " + str(resultado) + "<br>")

























Opciones
Estadísticas
Creado 01.01.1970 a las 00:00 hs
Categoría Python

  • Medallas
  • 0
    Favoritos
  • 9779
    Visitas
  • 0
    Puntos
  • 0
    Seguidores
Comentarios
0
Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Autor del post
Ver perfil de Administrador Administrador
Hombre Administrador  Mensaje
43 1,352 1
Medallas
No tiene medallas
Tags
Posts relacionados