Visualizzazione dei risultati da 1 a 7 su 7

Discussione: disabilitare checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278

    disabilitare checkbox

    ciao a tutti voi del forum.
    Dato che javascript mi crea spesso problemi,rieccone un'atro..


    Allora ho in una pagina 10 checkbox con diverse categorie,l'utente puo' selezionarne un massimo di 5,in pratica vorrei che quando il numero dei checkbox selezionati sia pari a 5 gli altri restanti siano disabilitati.
    come ptrei fare??

    grazie!!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    <script type="text/javascript"> 
    <!-- 
    function conta(){
    var sel=0;
        var box = document.getElementsByTagName('input');
        for(i=0; i<box.length; i++){
            if(box[i].getAttribute("type") == 'checkbox' && box[i].checked){
                sel++}
        }
        for(a=0; a<box.length; a++){
                if(sel>4 && !box[a].checked){
                    box[a].setAttribute("disabled","disabled");
                }else{
                    box[a].removeAttribute("disabled");
                }
        }
    }
     //--> 
    </script> 
    </head>
    
    <body>
    <div id="test">
        <input name="ck1" type="checkbox" onclick="conta()" value="" />
    <input name="ck2" type="checkbox" value="" onclick="conta()" />
    <input name="ck3" type="checkbox" value="" onclick="conta()" />
    <input name="ck4" type="checkbox" value="" onclick="conta()" />
    <input name="ck5" type="checkbox" value="" onclick="conta()" />
    <input name="ck6" type="checkbox" value="" onclick="conta()" />
    <input name="ck7" type="checkbox" value="" onclick="conta()" />
    <input name="ck8" type="checkbox" value="" onclick="conta()" />
    <input name="ck9" type="checkbox" value="" onclick="conta()" />
    <input name="ck10" type="checkbox" value="" onclick="conta()" />
    </div>
    </body>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    codice:
    <input type="checkbox" name="name" value="value" class="idclass" onclick="check()" />
    <input type="checkbox" name="name" value="value" class="idclass" onclick="check()" />
    <input type="checkbox" name="name" value="value" class="idclass" onclick="check()" />
    ......
    <input type="checkbox" name="name" value="value" class="idclass" onclick="check()" />
    
    
    
    
    <script language="javascript" type="text/javascript">
    function check(){
        var cboxchecked=0;
        var arr_cbox=document.getElementsByTagName('input');
        for (var i=0; i<arr_cbox.length; i++){
            if (arr_cbox[i].className=="idclass"){
                if (arr_cbox[i].checked){
                    cboxchecked=cboxchecked+1;
                }
            }
        }
        for (var j=0; j<arr_cbox.length; j++){
            if (cboxchecked<5){
                arr_cbox[j].disabled=false;   
            }else{
                if (arr_cbox[j].checked==false) {
                    arr_cbox[j].disabled=true;
                }
            }
        }
    }
    </script>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    Grazie ad entrambi!!ho risolto un'altro tassello...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    Andrea,ho provato la soluzione che mi hai postato e va bene,unica cosa da notare è che mi disabilita anche il pulsante di submit alla pagina successiva,come si puo' evitare cio'?
    grazie ancora!!

  6. #6
    usa i mio, quelo di Andrea è molto più snello ma disabilita indiscriminatamente, il mio disabiliterà solo gli input (checkbox) con class="idclass"

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    function conta(){
    var sel=0;
    var box = document.getElementsByTagName('input');
    for(i=0; i<box.length; i++){
    if(box[i].getAttribute("type") == 'checkbox' && box[i].checked){
    sel++}
    }
    for(a=0; a<box.length; a++){
    if(sel>4 && !box[a].checked && box[i].getAttribute("type") == 'checkbox'){
    box[a].setAttribute("disabled","disabled");
    }else{
    box[a].removeAttribute("disabled");
    }
    }
    }
    Aggiungi la parte in rosso, credovo che un minimo di js ci fosse
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.