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

    funzione x abilitare/disabilitare campi checkbox

    Ciao a tutti,

    ho la seguente funzione che vorrei mi servisse x abilitare o disabilitare un array di checkbox.

    codice:
    function enDisColor(todo){
    
    	if(todo == 'dis'){
    	
    	var conter = 0;
    		while(conter > 16){		
    		document.forms[0]['hex_colore['+conter+']'].disabled;		
    		conter++;
    		}
    	
    	} else if(todo == 'en'){
    	
    		var conter = 0;
    		while(conter > 16){		
    		document.forms[0]['hex_colore['+conter+']'].enable;		
    		conter++;
    		}
    	
    	}
    
    }
    Naturalmente non funziona..

    Non funziona nemmeno se scrivo:
    codice:
    document.forms[0]['hex_colore['+conter+']'].disabled=this.checked
    C'è un modo di farlo senza dover scrivere tutto il secondo metodo su tutti gli elementi dell'array in una sola riga al onclick del pulsante radio che controlla la visibilità delle checkbox??
    Stega
    :-)

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    magari prova ad invertire i segni di > nei while ...

    e poi la sintassi
    document.forms[0]['hex_colore['+conter+']'].disabled

    ha degli errori. Vedi questa:
    document.forms[0].elements['hex_colore['+conter+']'].disabled = true;
    ...
    document.forms[0].elements['hex_colore['+conter+']'].disabled = false;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    magari prova ad invertire i segni di > nei while ...
    Oooppss.. :rollo:


    Ho scritto così, ma da lo stesso un errore:

    codice:
    function enDisColor(todo){
    
    	if(todo == 'dis'){
    	
    	var conter = 0;
    		while(conter < 16){		
    		document.forms[0].elements['hex_colore['+conter+']'].disabled = true; 		
    		conter++;
    		}
    	
    	} else if(todo == 'en'){
    	
    		var conter = 0;
    		while(conter < 16){
    		alert(conter);		
    		document.forms[0].elements['hex_colore['+conter+']'].disabled = false;		
    		conter++;
    		}
    	
    	}
    
    }

    Questo è l'errore:

    codice:
    Errore: document.forms[0].elements["hex_colore[" + conter + "]"] has no properties
    File sorgente: http://localhost/xxx.php
    Riga: 32
    Mah..
    :master:
    Stega
    :-)

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    posta il form

  5. #5
    E' un form di una pagina php x l'inserimento di un record in un DB mysql all'interno di un sistema di CMS.
    E' un po" lungo..

    Nella pagina ci sono molte altre funzioni JS che gestiscono degli innerHTML, delle proprietà di visibilità di layer ed il controllo dei dati pre-invio.
    Tutte le altra funzioni sono ok..

    Posto solo la parte interessata della pagina php, il JS è quello scritto nei msg sopra..
    [CODE]

    <TR>
    <TD width="16%" rowspan="2" vAlign=top noWrap bgColor=#ffffff><span class="unnamed1">Colori disponibili:</span></TD>
    <TD colspan="2" align="center" valign="top" bgColor=#006699 class="testoverde">
    <div align="left">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="27%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="69%"><font color="#FFFFFF" size="+1">Nessun Colore</font></td>
    <td width="31%" align="left"><input name="scelta_colori" type="radio" value="false" checked onClick="return enDisColor('dis')"></td>
    </tr>
    </table></td>
    <td width="73%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="44%"><font color="#FFFFFF" size="+1">Selezionare
    una o + caselle</font>
    </td>
    <td width="56%"><input type="radio" name="scelta_colori" value="true" onClick="enDisColor('en')"></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </div></TD>
    </TR>
    <TR>
    <TD colspan="2" align="center" valign="top" bgColor=#006699>

    <table width="460" border="0" cellspacing="0" cellpadding="0">
    <tr class="testoverde">
    <td width="72" align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="5"><font color="#FFFFFF">
    <input name="hex_colore[]" type="checkbox" value="bianco" disabled>
    </font></td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="20"><table width="10" height="10" border="0" cellpadding="1" cellspacing="1" bgcolor="#000000">
    <tr>
    <td bgcolor="#FFFFFF"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    </tr>
    </table>
    </td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="87"><font color="#FFFFFF">Bianco</font></td>
    </tr>
    </table>
    </td>
    <td width="26"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="72"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="21"><font color="#FFFFFF">
    <input name="hex_colore[]" type="checkbox" value="nero" disabled>
    </font></td>
    <td width="8"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="21"><table width="10" height="10" border="0" cellpadding="1" cellspacing="1" bgcolor="#000000">
    <tr>
    <td bgcolor="#000000"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    </tr>
    </table>
    </td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="93"><font color="#FFFFFF">Nero</font></td>
    </tr>
    </table>
    </td>
    <td width="26">[img]../gif/spacer.gif[/img]</td>
    <td width="72"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="5"><font color="#FFFFFF">
    <input name="hex_colore[]" type="checkbox" value="arancio" disabled>
    </font></td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="20"><table width="10" height="10" border="0" cellpadding="1" cellspacing="1" bgcolor="#000000">
    <tr>
    <td bgcolor="#FF4C00"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    </tr>
    </table>
    </td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="87"><font color="#FFFFFF">Arancio</font></td>
    </tr>
    </table>
    </td>
    </tr>
    <tr class="testoverde">
    <td colspan="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    </tr>

    [CUT]

    <tr>
    <td width="5"><font color="#FFFFFF">
    <input name="hex_colore[]" type="checkbox" value="verde/nero" disabled>
    </font></td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="20"><table width="10" height="10" border="0" cellpadding="1" cellspacing="1">
    <tr>
    <td>[img]../gif/verde_nero.gif[/img]</td>
    </tr>
    </table>
    </td>
    <td width="5"><font color="#FFFFFF">[img]../gif/spacer.gif[/img]</font></td>
    <td width="87"><font color="#FFFFFF">Verde/Nero</font></td>
    </tr>
    </table></td>
    <td></td>
    <td></td>
    </tr>
    </table>

    </TD>
    </TR>
    Stega
    :-)

  6. #6
    Ho capito che se non metto il valore d'indice all'array delle checkbox non funziona..

    Pensavo fosse tipo php che non ce n'è bisogno..

    Mettendo il valore numerico invece funziona..

    codice:
    ..
    
    <input name="hex_colore[5]" type="checkbox" value="verde/natura" disabled>
    
    ..
    Grazie..
    Stega
    :-)

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.