• User Attivo

    Controllo checkbox selezionati

    Ciao a tutti.
    Ho una serie di checkbox generati da un ciclo while
    [PHP]<input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="checkbox" value="<? echo($titolo)." - ".($artista); ?>" />[/PHP]

    Avrei bisogno di fare un controllo e impostare a 10 il numero massimo di checkbox selezionati e poi inviare i valori. Come posso fare il controllo ?
    Grazie!


  • User Attivo

    Prova così:

    
    numero_check = <?php echo($i); ?>;
    checkate = 0;
    for(i=0;i<numero_check;i++)
    {
         if(document.getElementById('check_'+i).checked)
         {
              checkate++;
         }
    }
    if(checkate > 10)
    {
         alert('Hai checkato '+checkate+' checkbox!');
    }
    
    ```Così dovrebbe andare!

  • User Attivo

    Ciao !
    Allora ho questo script
    [HTML]<script language="javascript" type="text/javascript">
    numero_check = <?php echo($i); ?>;
    checkate = 0;
    for(i=0;i<numero_check;i++)
    {
    if(document.getElementById('check_'+i).checked)
    {
    checkate++;
    }
    }
    if(checkate > 10)
    {
    alert('Hai checkato '+checkate+' checkbox!');
    }

    </script>

    <script language="javascript" type="text/javascript">
    function check(){

    document.form1.action="convalida_chart.php";
    return true;
    }
    </script>[/HTML]
    il checkbox è così

    [PHP]<input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_<?php echo($i); ?>" value="<? echo($titolo)." - ".($artista); ?>" />[/PHP]

    il pulsante finale è

    [HTML]<input type="image" onClick="check()" src="images/registrazione/invia.png" />[/HTML]

    ma il tuo script non funziona... o sbaglio io qualcosa ?


  • User Attivo

    Il controllo, va inserito nella funzione esistente, come è messa ora, non viene chiamata al click!

    Inserisci il tutto dentro la funzione check()!

    Poi se vuoi qualcosa di più preciso, dimmi cosa ti serve, che cerco di mettere assieme il tutto al meglio!


  • User Attivo

    Questo è il codice js

    <script language="javascript" type="text/javascript">
    function check(){
    	
    	
    	numero_check = <?php echo($i); ?>;
    checkate = 0;
    for(i=0;i<numero_check;i++)
    {
         if(document.getElementById('check_'+i).checked)
         {
              checkate++;
         }
    }
    if(checkate > 10)
    {
         alert('Hai checkato '+checkate+' checkbox!'); return false;
    }
    	else 
    	
    document.form1.action="convalida_chart.php";
    		return true;
    }
    </script>
    

    questo è il mio checkbox

    [PHP]<input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_<?php echo($i); ?>" value="<? echo($titolo)." - ".($artista); ?>" />[/PHP]

    è questo è il mio pulsante finale

    [HTML]<input type="image" onClick="check()" src="images/registrazione/invia.png" />[/HTML]

    non mi da l'alert e se ne seleziono meno di 10 non parte la funzione convalida_chart .....


  • User Attivo

    Quando metti un else, metti anche le graffe!

    
    <script language="javascript" type="text/javascript">
    function check(){
        
        
        numero_check = 11;
        checkate = 0;
        for(i=0;i<numero_check;i++)
        {
             if(document.getElementById('check_'+i).checked)
             {
                  checkate++;
             }
        }
        if(checkate > 10)
        {
             alert('Hai checkato '+checkate+' checkbox!'); return false;
        }
        else 
        {
            
                document.form1.action="convalida_chart.php";
                return true;
        }
    }
    </script>
    <form action="" name="form1">
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_0" value="0" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_1" value="1" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_2" value="2" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_3" value="3" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_4" value="4" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_5" value="5" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_6" value="6" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_7" value="7" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_8" value="8" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_9" value="9" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_10" value="10" />
    <input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_11" value="11" />
    <input type="image" onClick="check()" src="images/registrazione/invia.png" />
    </form>
    
    

    A me così funziona!


  • User Attivo

    Allora ho inserito lo script nella mia pagina, i checkbox sono 50 e quindi ho cambiato il numero iniziale.
    Pero' non mi fa il controllo .

    [HTML]<script language="javascript" type="text/javascript">

    function check(){

    numero_check = 50;
    checkate = 0;
    for(i=0;i<numero_check;i++)
    {
         if(document.getElementById('check_'+i).checked)
         {
              checkate++;
         }
    }
    if(checkate > 10)
    {
         alert('Hai checkato '+checkate+' checkbox!'); return false;
    }
    else 
    {
        
            document.form1.action="convalida_chart.php";
            return true;
    }
    

    }
    </script>[/HTML]

    [PHP]<input type="checkbox" name="mycheck[<?php echo($i); ?>]" id="check_<?php echo($i); ?>" value="<? echo($titolo)." - ".($artista); ?>" />[/PHP]

    [PHP]<form id="form1" name="form1" method="post" >[/PHP]

    [PHP]<input type="image" onClick="check()" src="images/registrazione/invia.png" />[/PHP]