Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: MA40 en 15 Agosto 2016, 14:07 pm



Título: [Python] Obteniendo el valor de un checkbox HTML [RESUELTO]
Publicado por: MA40 en 15 Agosto 2016, 14:07 pm
Hola.

No sé si lo estoy programando bien, evidentemente NO, pues no funciona.

Primero, tengo el código en HTML en el cual se solicita un checkbox mediante un formulario, si está seleccionado el checkbox, se asigna a una variable el valor “Cierto” y si no “Falso, luego se envía hacia un script hecho en Python “checkbox.py” para que se imprima la variable.

El código en HTML es el siguiente:

Código
  1. <script language="javascript" type="text/javascript">
  2. function envia(){
  3.  if (document.formulario.comprobar_caja.checked) {
  4.    document.formulario.comprobar_caja.value="Cierto";
  5.  }
  6.  else {
  7.    document.formulario.comprobar_caja.value="Falso";
  8.  }
  9.  document.formulario.submit();
  10. }
  11. </head>
  12.  
  13. <form action="http://...path.../checkbox.py" name="formulario" method="post">
  14.  <input type="checkbox" name="comprobar_caja" value=""> Selecciona o no la caja<br><br></td>
  15.  <input type="button" value="Pulsar" onclick="envia()">
  16. </form>
  17. </body>
  18. </html>

Y el código (checkbox.py) en Python es:

Código
  1. #!/usr/bin/python
  2.  
  3. print "Content-type: text/plain\n\n"
  4. import cgi
  5.  
  6. form = cgi.FieldStorage()
  7. var_caja = form["comprobar_caja"].value
  8.  
  9. print var_caja

Si se selecciona el checkbox, funciona correctamente, pero si no se selecciona, no funciona. ¿Qué puede ser?

Un saludo.


Título: Re: [Python] Obteniendo el valor de un checkbox HTML
Publicado por: tincopasan en 15 Agosto 2016, 17:44 pm
te aclaro que soy muy perro en html. pero lo haría así:
Código HTML
Código
  1. <script language="javascript" type="text/javascript">
  2. function envia(){
  3.  document.formulario.submit();
  4. }
  5. </head>
  6. <form action="http://localhost/pagina01/checkbox.py" name="formulario" method="post">
  7.  <input type="checkbox" name="comprobar_caja" value="on" /> Selecciona o no la caja<br><br></td>
  8.  <input type="button" value="Pulsar" onclick="envia()">
  9. </form>
  10. </body>
  11. </html>

código (checkbox.py)

Código
  1. #!C:\Python34\python    
  2. #en mi caso es necesaria esta línea porque probé en un servidor local!!
  3.  
  4.  
  5. print ("Content-type: text/plain\n\n")
  6. import cgi
  7.  
  8. form = cgi.FieldStorage()
  9. if form.getvalue("comprobar_caja"):
  10.    var_caja= "Cierto"
  11. else :
  12.    var_caja = "Falso"
  13.  
  14. print(var_caja)    
  15.  
espero que te sirva.
Saludos.


Título: Re: [Python] Obteniendo el valor de un checkbox HTML
Publicado por: MA40 en 15 Agosto 2016, 18:11 pm
¡Correcto!

Funciona y me sirve, muchas gracias tincopasan.

Un saludo.


Título: Re: [Python] Obteniendo el valor de un checkbox HTML [RESUELTO]
Publicado por: + 1 Oculto(s) en 16 Agosto 2016, 20:29 pm
estas utilizando djangoo???