Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [javascript] : funzione checkall

    ho questa funzione:
    codice:
    function CheckAll() 
    {
    	for (var i=0;i<document.form.elements.length;i++) 
    	{
    		var e = document.form.elements[i];
    		if ((e.name != 'allbox') && (e.type=='checkbox')) 
                    {
    			e.checked = document.form.allbox.checked;
    		}
    	}
    }
    che ho preso in prestito da questo sito..
    funzionamento semplice :
    messo in un form con dei checkbox, dovrebbe selezionarli tutti se uno di questi ("allbox") viene selezionato

    ex:
    codice:
    <form name=prova action=# method="post">
        <input name="allbox" type="checkbox" value="Check All" title="Select/Deselect All" onClick="CheckAll();" >
        <input name="check1" type="checkbox" value="yes">
        <input name="check2" type="checkbox" value="yes">
        .
        . 
        .
        <input name="checkN" type="checkbox" value="yes">
    </form>
    dove se seleziono il primo checkbox dovrebbe selezionarli tutti i restanti...ma non mi funziona...dove sbaglio?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  2. #2
    nessuno lo sa?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    21
    codice:
     <script type="text/javascript">
    //<![CDATA[
    <!--
    var allCB = [];
    onload = function(){
    	var tmp = document.getElementById("x").getElementsByTagName("input");
    	for (i=0;i<tmp.length;i++)
    		if (tmp[i].type=='checkbox')
    			allCB.push(tmp[i]);
    }
    function doAll(b){
    	for (i=0;i<allCB.length;i++)
    		allCB[i].checked = b;
    }
    //-->
    //]]>
      </script>
      <body>
      <form id="x">
    	 <input type='checkbox' onclick="doAll(this.checked);"/>
    
    	<input type='checkbox' name='x1'/>
    
    	<input type='checkbox' name='x2'/>
    
    	<input type='checkbox' name='x3'/>
    
    	<input type='checkbox' name='x4'/>
    
    	<input type='checkbox' name='x5'/>
    
    	<input type='checkbox' name='x6'/>
    
    	<input type='checkbox' name='x7'/>
    
    	<input type='checkbox' name='x8'/>
    
    	<input type='checkbox' name='x9'/>
    
    	<input type='checkbox' name='x10'/>
    
    	<input type='checkbox' name='x11'/>
    
    	<input type='checkbox' name='x12'/>
    
    	<input type='checkbox' name='x13'/>
    
    	<input type='checkbox' name='x14'/>
    
    	<input type='checkbox' name='x15'/>
    
    	<input type='checkbox' name='x16'/>
    
    	<input type='checkbox' name='x17'/>
    
    	<input type='checkbox' name='x18'/>
    
    	<input type='checkbox' name='x19'/>
      </form>
      </body>

  4. #4
    grazie ma...

    non mi funziona lo stesso!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  5. #5
    ho trovato l'errore nello script postato da me:

    scrive

    "document.form.elemnts è nullo o non è un oggetto"

    xkè?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` non esiste l'oggetto document.form

    Comunque il nome form non e` da usare per un nome, dato che e` usato dal DOM.

    Vedi questa modifica:
    codice:
    function CheckAll(cc) {
      var ee = cc.form.elements;
      for (var i=0; i<ee.length; i++) {
        if((ee[i].type == 'checkbox') && (ee.name != 'allbox') ) {
          ee.checked = cc.checked;
        }
      }
    }
    Da chiamare con:
    <input name="allbox" type="checkbox" value="Check All" title="Select/Deselect All" onClick="CheckAll(this);" >
    <input name="check1" type="checkbox" value="yes">
    <input name="check2" type="checkbox" value="yes">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Originariamente inviato da Mich_
    Perche` non esiste l'oggetto document.form

    Comunque il nome form non e` da usare per un nome, dato che e` usato dal DOM.

    Vedi questa modifica:
    codice:
    function CheckAll(cc) {
      var ee = cc.form.elements;
      for (var i=0; i<ee.length; i++) {
        if((ee[i].type == 'checkbox') && (ee.name != 'allbox') ) {
          ee.checked = cc.checked;
        }
      }
    }
    Da chiamare con:
    <input name="allbox" type="checkbox" value="Check All" title="Select/Deselect All" onClick="CheckAll(this);" >
    <input name="check1" type="checkbox" value="yes">
    <input name="check2" type="checkbox" value="yes">
    l'errore non lo fa + ma non mi mette i checkbox a cheched...vale a dire non fa nulla!!!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  8. #8
    ho trovato la soluzione giusta, c'era qualche errore nel tuo script ma l'idea era buona..grazie a tutti per il contributo

    P.S.
    lo script corretto è:

    codice:
    function CheckAll(cc) 
    {
     	 var ee = cc.form.elements;
      	for (var i=0; i<ee.length; i++) 
      	{
        	        if((ee[i].type == 'checkbox') && (ee[i].name != 'allbox') ) 
        		{
         			ee[i].checked = cc.checked;
        		}
      	}
    }
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

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.