Como validar array checkbox – javascript php jquery

Pregunta:


Que tal buen dia, alguien me podria decir como se puede hacer para que cuando presione el boton “BAJAR DATOS” si este esta vacio que no me redirija a la otra pagina y si al menos hay un checkbox activado y presione “BAJAR DATOS” si me redirija a la pagina.

Gracias.

<form action="datos.php" method="post" name="myform"> 
      <table class="table table-hover">
            <tr>
                <th></th><th></th><th></th><th></th>
                <th><input type="submit" name="formSubmit" value="BAJAR DATOS" class="btn btn-primary btn-round"/></th>
            </tr>

                <tr class="header">
                    <th class="colu">nombre</th>
                    <th class="colu">apellido</th>
                    <th class="colu">edad</th>
                    <th class="colu">sangre</th>
                    <th class="colu">enfermedad</th>        
                    <th class="escoger">
                        <p class="float_lefty">Escoger Todos</p>
                        <input class="float_lefty" type="checkbox" id="selectall"/>
                    </th>
                </tr>

                        <?php
                       if($myrow = mysql_fetch_array($result2))
                       {
                       do
                        {
                         $cuenta_datos++;

                        ?>

                           <tr> 
                                  <th class="colu"><?php printf("%s",$myrow["nombre"]);?></th>
                                  <th class="colu"><?php printf("%s",$myrow["apellido"]);?></th>
                                  <th class="colu"><?php printf("%s",$myrow["edad"]);?></th>
                                  <th class="colu"><?php printf("%s",$myrow["sangre"]);?></th>
                                  <th class="colu"><?php printf("%s",$myrow["enfermedad"]);?></th>  
                                  <th><p class="float_lefty" >Escoger Dato</p><input type="checkbox" class="case" name="case[]" value="<?php printf("%s",$myrow["nombre"]);?>"></th>
                          </tr>

                        <?php     
                            }while ($myrow = mysql_fetch_array($result2));
                            }else {

                            } 
                            //printf($cuenta_eventos);
                         ?>  

                                 <tr>
                                 <th></th><th></th><th></th><th></th>
                                 <th><input type="submit" name="formSubmit" value="BAJAR DATOS" class="btn btn-primary btn-round"/></th>
                                 </tr>
    </table>
            </form> 

Preguntado por: Houdini

Shaz

Una forma de hacerlo puede ser desactivando/activando el botón si algún checkbox está seleccionado o no:

$(function(){
  $('input:checkbox').change(function(){
    if ($('input:checkbox:checked').length > 0) {
      $('input:submit').prop({disabled: false}); 
    } else {
      $('input:submit').prop({disabled: true}); 
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input type="checkbox">primero<br>
  <input type="checkbox">segundo<br>
  <input type="checkbox">tercero
</div>
<input type="submit" value="bajar datos" disabled>

Si deseas simplificar un poco el código de @Shaz, puedes hacer lo siguiente:

$(function(){
 $('input:checkbox').change(function(){
  $('input:submit').prop({
   disabled: $('input:checkbox:checked').length===0
  });
 });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input type="checkbox">primero<br>
  <input type="checkbox">segundo<br>
  <input type="checkbox">tercero
</div>
<input type="submit" value="bajar datos" disabled>

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *