- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema con un button che onclick cambia classname di un ul
- 
							
							
							
							
							
Problema con un button che onclick cambia classname di un ul[HTML] 
 <style type="text/css">
 .nascosto {
 visibility: hidden;
 }
 .visibile {
 visibility: visible;
 }
 </style><input type="button" value="10" onclick="1decade.className='visibile';"> 
 <input type="button" value="20" onclick="2decade.className='visibile';">
 <input type="button" value="30" onclick="3decade.className='visibile';">
 <input type="button" value="40" onclick="4decade.className='visibile';">
 <ul name="1decade" class="nascosto">
 <li><p>1</p></li>
 <li><p>2</p></li>
 </ul>
 <ul name="2decade" class="nascosto">
 <li><p>1</p></li>
 <li><p>2</p></li>
 </ul>
 <ul name="3decade" class="nascosto">
 <li><p>1</p></li>
 <li><p>2</p></li>
 </ul>
 <ul name="4decade" class="nascosto">
 <li><p>1</p></li>
 <li><p>2</p></li>
 </ul>
 [/HTML]Perchè non funziona? schiacciando il primo pulsante il primo elenco dovrebbe essere visibile, schiacciando il secondo pure e cosi via. Dove stà l'errore? 
 
- 
							
							
							
							
							
Ti consiglio di usare id invece di name. Cmq devi ottenere l'elemento con il name quindi document.getElementsByName, che restituisce una collection, quindi devi includere un [0].className.... 
 
- 
							
							
							
							
							
Scusa ma di JS sono ancora poco pratico in quanto lo sto ancora studiando. Potresti darmi due righe di codice di esempio per spiegarmi ciò che dici? 
 
- 
							
							
							
							
							
document.getElementsByName('1decade')[0].className='visibile'; 
 
- 
							
							
							
							
							
Grazie mille! funziona  
 
- 
							
							
							
							
							
[HTML] 
 <div id="contenitore">
 <div id="domande_decanumero">
 <div class="domande">
 <input type="button" value="10" onclick="document.getElementsByName('1decade')[0].className='visibile'; document.getElementsByName('2decade')[0].className='nascosto'; document.getElementsByName('3decade')[0].className='nascosto'; document.getElementsByName('4decade')[0].className='nascosto';">
 </div>
 <div class="domande">
 <input type="button" value="20" onclick="document.getElementsByName('1decade')[0].className='nascosto'; document.getElementsByName('2decade')[0].className='visibile'; document.getElementsByName('3decade')[0].className='nascosto'; document.getElementsByName('4decade')[0].className='nascosto';">
 </div>
 <div class="domande">
 <input type="button" value="30" onclick="document.getElementsByName('1decade')[0].className='nascosto'; document.getElementsByName('2decade')[0].className='nascosto'; document.getElementsByName('3decade')[0].className='visibile'; document.getElementsByName('4decade')[0].className='nascosto';">
 </div>
 <div class="domande">
 <input type="button" value="40" onclick="document.getElementsByName('1decade')[0].className='nascosto'; document.getElementsByName('2decade')[0].className='nascosto'; document.getElementsByName('3decade')[0].className='nascosto'; document.getElementsByName('4decade')[0].className='visibile';">
 </div>
 </div>
 <div id="menu">
 <div id="domande_numero">
 <ul id="1decade" class="visibile">
 <div class="domanda"><li><p>1</p></li></div>
 <div class="domanda"><li><p>2</p></li></div>
 <div class="domanda"><li><p>3</p></li></div>
 <div class="domanda"><li><p>4</p></li></div>
 <div class="domanda"><li><p>5</p></li></div>
 <div class="domanda"><li><p>6</p></li></div>
 <div class="domanda"><li><p>7</p></li></div>
 <div class="domanda"><li><p>8</p></li></div>
 <div class="domanda"><li><p>9</p></li></div>
 <div class="domanda"><li><p>10</p></li></div>
 </ul>
 <ul id="2decade" class="nascosto">
 <div class="domanda"><li><p>11</p></li></div>
 <div class="domanda"><li><p>12</p></li></div>
 <div class="domanda"><li><p>13</p></li></div>
 <div class="domanda"><li><p>14</p></li></div>
 <div class="domanda"><li><p>15</p></li></div>
 <div class="domanda"><li><p>16</p></li></div>
 <div class="domanda"><li><p>17</p></li></div>
 <div class="domanda"><li><p>18</p></li></div>
 <div class="domanda"><li><p>19</p></li></div>
 <div class="domanda"><li><p>20</p></li></div>
 </ul>
 <ul id="3decade" class="nascosto">
 <div class="domanda"><li><p>21</p></li></div>
 <div class="domanda"><li><p>22</p></li></div>
 <div class="domanda"><li><p>23</p></li></div>
 <div class="domanda"><li><p>24</p></li></div>
 <div class="domanda"><li><p>25</p></li></div>
 <div class="domanda"><li><p>26</p></li></div>
 <div class="domanda"><li><p>27</p></li></div>
 <div class="domanda"><li><p>28</p></li></div>
 <div class="domanda"><li><p>29</p></li></div>
 <div class="domanda"><li><p>30</p></li></div>
 </ul>
 <ul id="4decade" class="nascosto">
 <div class="domanda"><li><p>31</p></li></div>
 <div class="domanda"><li><p>32</p></li></div>
 <div class="domanda"><li><p>33</p></li></div>
 <div class="domanda"><li><p>34</p></li></div>
 <div class="domanda"><li><p>35</p></li></div>
 <div class="domanda"><li><p>36</p></li></div>
 <div class="domanda"><li><p>37</p></li></div>
 <div class="domanda"><li><p>38</p></li></div>
 <div class="domanda"><li><p>39</p></li></div>
 <div class="domanda"><li><p>40</p></li></div>
 </ul>
 </div>
 </div>
 [/HTML]La soluzione è perfetta e funziona con explorer ma con Safari, nonostante sia abilitato il JavaScript, non va. Quancuno saperebbe dirmi come mai?