Foros del Web » Programando para Internet » Javascript »

checkbox y condicional al seleccionar no detecta bien

Estas en el tema de checkbox y condicional al seleccionar no detecta bien en el foro de Javascript en Foros del Web. Consiste en marcar dos opciones. La opción correcta es la "A" y "B", pero al seleccionar mas de dos opciones, dice que esta bien lo ...
  #1 (permalink)  
Antiguo 29/08/2011, 14:54
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 8 meses
Puntos: 11
checkbox y condicional al seleccionar no detecta bien

Consiste en marcar dos opciones.

La opción correcta es la "A" y "B", pero al seleccionar mas de dos opciones, dice que esta bien lo cual no es correcto.

A continuación podrán ver el código javascript el if es el que no funciona bien hay se ve que si las dos opciones son correcta esta bien, al tener tres o mas opciones marcado dice que esta bien debería decir mal..

Código Javascript:
Ver original
  1. if(ex1.checked && ex2.checked)
  2. {
  3.     alert("Bien");     
  4. }
  5. else!(ex1.checked && ex2.checked)
  6. {
  7.     alert("Mal");
  8. }


Codio completo:
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title>Seleccion</title>
  4. </head>
  5.  
  6. <script type="text/javascript">
  7. function verificar() {
  8.     var ex1 = document.getElementById('check1');
  9.     var ex2 = document.getElementById('check2');
  10.     var ex3 = document.getElementById('check3');
  11.     var ex4 = document.getElementById('check4');
  12.     var ex5 = document.getElementById('check5');
  13.  
  14.    
  15.     if(ex1.checked && ex2.checked)
  16.     {
  17.         alert("Bien");     
  18.     }
  19.     else!(ex1.checked && ex2.checked)
  20.     {
  21.         alert("Mal");
  22.     }
  23. }
  24.  
  25. </script>
  26.  
  27.  
  28. Quienes forman el duo dinamico ?.<br><br>
  29. <br>
  30. Marque dos respuesta<br>
  31. <input name="checkbox" type="checkbox"  value="1" id="check1">a) Batman<br>
  32. <input name="checkbox" type="checkbox"  value="2" id="check2">b) Robin<br>
  33. <input name="checkbox" type="checkbox"  value="3" id="check3">c) Superman<br>
  34. <input name="checkbox" type="checkbox"  value="4" id="check4">d) Ironman<br>
  35. <input name="checkbox" type="checkbox"  value="4" id="check5">e) Spiderman<br>
  36.  
  37. <br>
  38. <input type="submit" name="Submit" value="Enviar" onClick="verificar();">
  39.  
  40. <body>
  41. </body>
  42. </html>
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #2 (permalink)  
Antiguo 29/08/2011, 15:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
No se puede poner ninguna condición a else, ya que else se ejecuta cuando la condición if devuelve false.
Tienes que borrar !(ex1.checked && ex2.checked).

__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #3 (permalink)  
Antiguo 29/08/2011, 17:31
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 8 meses
Puntos: 11
Respuesta: checkbox y condicional al seleccionar no detecta bien

Como puedo prevenir esto ? porque al seleccionar 3 check dice igual "bien" ? siendo que la condicion es para dos check.



Saludos
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #4 (permalink)  
Antiguo 29/08/2011, 17:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: checkbox y condicional al seleccionar no detecta bien

buenas,
sucede que estas evaluando específicamente dos checkbox y los demás no los revisas. por tanto, se puede marcar las cincos opciones y seguirá indicando que esta bien. por tanto, tendrás que evaluar el estado de todas las opciones.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: checkbox, condicional, detecta, html, seleccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:43.