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

    errore passaggio variabili

    Ciao a tutti,

    ed innanzitutto grazie per l'aiuto che mi darete.

    Ho questo codice:

    <script language="JavaScript">
    function Mostra(oggetto) {
    document.all.elements["oggetto"].style.display = (document.all.elements["oggetto"].style.display == 'none') ? '' : 'none'
    }

    function Nascondi(oggetto2) {
    document.all.elements["oggetto2"].style.display = (document.all.elements["oggetto2"].style.display == 'none') ? '' : 'none'
    }
    </script>

    <input type="button" onMouseOver="javascript:Mostra('mostraBox0');" onMouseOut="javascript:Nascondi('mostraBox0');" style="width:180px" class="button" value="Visualizza le Note dei Docenti">

    <div style="display:none" id="mostraBox0">
    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    </div>

    Ma lo script non funziona.

    Come posso passare alla funzione il nome del DIV?

    In attesa ringrazio tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    <script language="JavaScript">
    function MostraNascondi(oggetto) {
    	oggetto.style.display = oggetto.style.display == 'none' ? 'block' : 'none'
    }		
    </script>
    
    <input type="button" onClick="MostraNascondi(document.getElementById('mostraBox0'));" style="width:180px" class="button" value="Visualizza le Note dei Docenti">
    
    <div style="display:none" id="mostraBox0">
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    testo di prova
    
    </div>
    Ho visto che usavi gli eventi onMouseOver e onMouseOut ma non credo sia utile utilizzarli in questo contesto... li ho sostituiti con l'evento onClick, verifica se fa quello che desideravi.

  3. #3
    La riga:
    java-script:
    deve essere tolta. La invocazione degli eventi non necessita di specificare quale protocollo si usa, poichè è di default javascript.

    Infine,
    document.all.elements["oggetto"]
    ha due problemi: "oggetto" fra apici è una stringa, mentre alla funzione è passato come parametro oggetto. Inoltre non ha senso usare document.all che è specifico di IE.
    Per cui:

    <script language="JavaScript">
    function Mostra(oggetto) {
    document.getElementById(oggetto).style.display = (document.getElementById(oggetto).style.display == 'none') ? '' : 'none'
    }

    function Nascondi(oggetto2) {
    document.getElementById(oggetto2).style.display = (document.getElementById(oggetto2).style.display == 'none') ? '' : 'none'
    }
    </script>

    <input type="button" onmouseover="Mostra('mostraBox0');" onmouseout="Nascondi('mostraBox0');" style="width:180px" class="button" value="Visualizza le Note dei Docenti">

    <div style="display:none" id="mostraBox0">
    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    testo di prova

    </div>

  4. #4
    Ciao TrueLies,

    non solo mi hai risolto il problema, ma mi hai insegnato una cosa davvero importante per gli per la realizzazione dei miei script futuri.

    Grazie ancora e buone feste.

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.