[Javascript] Problema richiamo funzione

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti. Vorrei chiedervi un aiuto in merito ad una funzione javascript che non riesco ad associare ad un bottone.
Quello che ho scritto è questo.
Funzione javascript:
Codice:
    function js_unita_misure()
    {
        var js_unita_misure = document.getElementById("unita_misure");
        var js_documenti = document.getElementById("documenti");
        var js_dati_filtrati = document.getElementById("dati_filtr");
        var js_dati_tabellari = document.getElementById("dati_tab");
       
        if (js_unita_misure.style.visibility === "hidden")
        {
            js_unita_misure.style.visibility = "visible";
            js_dati_filtrati.style.visibility = "hidden";
            js_dati_tabellari.style.visibility = "hidden";
            js_documenti.style.visibility = "hidden";
        }
    }
HTML:
HTML:
<a onClick="js_unita_misure()">Unità di misure</a>
Preciso che la funzione javascript è inserita tra i TAG "head".
Scrivendo in questo modo la funzione non funziona, ma immediatamente prima c'è ne un'altra quasi identica che associata ad un altro bottone funziona perfettamente.
Qualcuno mi sa dire quale può essere il problema?
Ciao, grazie mille
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, da sola funziona. E' probabile che hai assegnato lo stesso id a p+u di un elemento html
 

the_jurgs

Nuovo Utente
6 Apr 2017
31
1
8
Puoi postare tutto il codice? La console del browser cosa dice?

Inviato dal mio ONE A2003 utilizzando Tapatalk
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti e grazie per le risposte.
Per criric.
Per quanto riguarda gli ID, l'avevo già verificato e sono tutti diversi.
Per The_jurgs.
La console del browser dice questo: TypeError: js_unita_misure is null
Questo è il codice che ho scritto:
Codice:
<head>
<meta charset="utf-8">
<title>Monitoraggio</title>
<link href="stili_css/monitoraggio.css" rel="stylesheet" type="text/css">

    <script type="text/javascript">
    function nascondiDiv(idDiv) {
    document.getElementById(idDiv).style.display = "none";
    }

    function mostraDiv(idDiv) {
    document.getElementById(idDiv).style.display = "block";
    }

    function printContent(el) {
    var restorepage = document.body.innerHTML;
    var printcontent = document.getElementById(el).innerHTML;
    document.body.innerHTML = printcontent;
    window.print();
    document.body.innerHTML = restorepage;
    }
    
    function stampa_tutto(){
    var restorepage = document.body.innerHTML;
    var print_graph = document.getElementById('linechart_material').innerHTML;
    var print_table = document.getElementById('table_div1').innerHTML;
    document.body.innerHTML = print_graph + print_table;
    window.print();
    document.body.innerHTML = restorepage;   
}
        
    function js_dati_tab()
    {
        var js_dati_tabellari = document.getElementById("dati_tab");
        var js_dati_filtr = document.getElementById("dati_filtr");
        var js_documenti = document.getElementById("documenti");
        var js_unita_misure = document.getElementById("unita_misure");
        
        if (js_dati_tabellari.style.visibility === "hidden")
        {
            js_dati_tabellari.style.visibility = "visible";
            js_dati_filtr.style.visibility = "hidden";
            js_documenti.style.visibility = "hidden";
            js_unita_misure.style.visibility = "hidden";
        }
    }

    function js_dati_filtr()
    {
        var js_dati_filtrati = document.getElementById("dati_filtr");
        var js_dati_tabellari = document.getElementById("dati_tab");
        var js_documenti = document.getElementById("documenti");
        var js_unita_misure = document.getElementById("unita_misure");
        
        if (js_dati_filtrati.style.visibility === "hidden")
        {
            js_dati_filtrati.style.visibility = "visible";
            js_dati_tabellari.style.visibility = "hidden";
            js_documenti.style.visibility = "hidden";
            js_unita_misure.style.visibility = "hidden";
        }
    }
    
    function js_documenti()
    {
        var js_documenti = document.getElementById("documenti");
        var js_dati_filtrati = document.getElementById("dati_filtr");
        var js_dati_tabellari = document.getElementById("dati_tab");
        var js_unita_misure = document.getElementById("unita_misure");
        
        if (js_documenti.style.visibility === "hidden")
        {
            js_documenti.style.visibility = "visible";
            js_dati_filtrati.style.visibility = "hidden";
            js_dati_tabellari.style.visibility = "hidden";
            js_unita_misure.style.visibility = "hidden";
        }
    }

    function js_unita_misure()
    {
        var js_unita_misure = document.getElementById("unita_misure");
        var js_documenti = document.getElementById("documenti");
        var js_dati_filtrati = document.getElementById("dati_filtr");
        var js_dati_tabellari = document.getElementById("dati_tab");
        
        if (js_unita_misure.style.visibility === "hidden")
        {
            js_unita_misure.style.visibility = "visible";
            js_dati_filtrati.style.visibility = "hidden";
            js_dati_tabellari.style.visibility = "hidden";
            js_documenti.style.visibility = "hidden";
        }
    }
</script>
</head>
<body>
<div id="menu">
    <ul id="dropdown_menu">
        <li class="barra_menu"><a><img src="Immagini/ico_dati.png" width="24" height="24" alt=""/> Dati</a>
            <ul>
                <li><a onClick="js_dati_tab()">Visualizza i dati tabellari</a></li>
                <li><a onClick="js_dati_filtr()">Visualizza i dati filtrati</a></li>
                <li><a>Estrai tutti i dati in excel</a></li>
            </ul>
        </li>
        <li class="barra_menu"><a><img src="Immagini/ico_documenti.png" width="24" height="24" alt=""/> Documenti</a>
            <ul>
                <li><a onClick="js_documenti()">Visualizza i documenti</a></li>
            </ul>
        </li>
        <li class="barra_menu"><a><img src="Immagini/ico_aiuto1.png" width="20" height="20" alt=""/> Aiuto</a>
            <ul>
                <li><a onClick="js_unita_misure()">Unità di misure</a></li>
                <li><a>Guida all'utilizzo</a></li>
            </ul>
        </li>
        <li class="barra_menu"><a><img src="Immagini/ico_freccia.png" width="20" height="20" alt=""/></a>
            <ul>
                <li><a>Esci</a></li>
            </ul>
        </li>
    </ul>
</div>
.
.
.
Secondo voi cosa può essere?
Ciao, grazie
 

the_jurgs

Nuovo Utente
6 Apr 2017
31
1
8
Da come dice l'errore la variabile js_unita_misure é nullo, questo succede perché fai riferimento ad un elemento che non esiste o che contiene un valore null al suo interno. Nel codice che hai postato non c'è nessun elemento che abbia come id unita_misure

Inviato dal mio ONE A2003 utilizzando Tapatalk
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao, grazie per la risposta.
Perdonami, nel codice che ho riportato prima nel tag body ho riportato soltanto il div menu.
Il div unita_misure esiste ed è questo:
Codice:
<div id="unita_misure" style="visibility:hidden">
.
.
.
</div>
Non riesco proprio a capire dov'è il problema. Per favore aiutatemi a trovarlo.
Ciao, grazie.
 

the_jurgs

Nuovo Utente
6 Apr 2017
31
1
8
Posta per favore il codice di tutta la pagina, sicuramente si tratta di un errore di formattazione, ma devi postare il codice dell'intera pagina o se la pagina é sul web il suo link, tante volte può essere un semplice apice non chiuso qualche rigo più in su

Inviato dal mio ONE A2003 utilizzando Tapatalk
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao. Ho provato a fare una cosa.
Ho riscritto il codice a ritroso un pezzo alla volta su un nuovo file e ho notato questo.
Inserendo nel body soltanto il div "unita_misure", questo funziona perfettamente.Immediatamente dopo ho inserito il div "documenti" e il div "unita_misure" smette di funzionare.
Questo è il codice dei due div:
Codice:
<!-- DIV DOCUMENTI -->
    <div id="documenti" style="visibility:hidden">
        <p style="font-weight:bold; padding-top:5px"><font color="#00A5DD">D</font><font color ="#2EB800">OCUMENTI</font></p>
    <br />
<p>
    <?php
        // query per ottenere l'elenco dei files nel DB
        $query = "SELECT * FROM documenti WHERE nome_file LIKE '$lavoro%'";
        $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());

        // se ci sono files nel DB
        if(mysql_numrows($risultato))
        {
        // estrazione dei risultati e stampa dei links ai files
          while ($tmp = mysql_fetch_array($risultato))
          {
            echo "<p><a href=\"mostra.php?id=$tmp[id_file]\">$tmp[nome_file]</a></p>\n";
            echo "<br />";
          }
        }
        else
        {
          echo '<p>Nessun file presente nel database</p>';
        }
    ?>
</p>

    </div>
<!-- DIV DOCUMENTI -->
    
<!-- DIV UNITA' DI MISURE -->
    <div id="unita_misure" style="visibility:hidden">
        <p style="font-weight:bold; padding-top:5px; text-align:center;"><font color="#00A5DD">U</font><font color ="#2EB800">NITA'</font>
        <font color="#00A5DD">D</font><font color ="#2EB800">I</font>
        <font color="#00A5DD">M</font><font color ="#2EB800">ISURE</font></p>
        <p><font color ="#000000"><img src="Immagini/ico_righello.png" width="24" height="24" alt=""/> Fessure: mm
        <br />
        <img src="Immagini/ico_termometro.png" width="24" height="24" alt=""/> Temperatura: °C
        <br />
        <img src="Immagini/ico_goniometro.png" width="24" height="24" alt=""/> Angoli: gradi sessadecimali</font></p>
    </div>
Non ti inserisco tutto il codice perchè è lungo circa 830 righe!!!
Ciao, grazie.
 

the_jurgs

Nuovo Utente
6 Apr 2017
31
1
8
A questo punto credo che il problema sia nell'output, puoi mettere un Link alla pagina o la sorgente che visualizzi dal browser? Non preoccuparti per il numero di righe ;)

Inviato dal mio ONE A2003 utilizzando Tapatalk
 
Discussioni simili
Autore Titolo Forum Risposte Data
grgfede Problema javascript con aruba Javascript 1
L [Javascript] Problema salvataggio dati in db Javascript 1
S [Javascript] Problema costrutto if Javascript 0
S [Javascript] Problema con condizione "if" Javascript 2
Z Problema Galleria Javascript Javascript 1
trattorino [Javascript] scrool top problema Javascript 1
C [Javascript] problema nell'utilizzo di un array Javascript 2
P [Javascript] problema menu responsive su aruba, editor bk Javascript 1
G [Javascript] Problema parametro passato con ajax Javascript 4
G [Javascript] Problema modal con scrollbar Javascript 0
A [Javascript] problema con draggable Javascript 0
L [javascript]problema funzione per webapi Javascript 4
A PROBLEMA INTERAZIONE PHP E JAVASCRIPT PHP 1
L [PHP] problema con upload e javascript (upload multiplo) Javascript 2
Antonio Nervi [Javascript] Problema visualizzazione banner accettazione cookies Javascript 6
borgo italia [Javascript] un problema con ckeditor Javascript 3
bubino8 [Javascript] Problema function eseguita solo la prima volta Javascript 1
A [Javascript] Problema visualizzazione posizione corrente su mappa Javascript 2
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
F [Javascript] Problema su sticky sidebar Javascript 0
S [Javascript] [HTML] problema nella stampa degli elementi della pagina Javascript 3
W [Javascript] Problema: Copiare testo da un iframe? Javascript 4
L Problema con javascript e server Javascript 3
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
A PROBLEMA SITO SU JAVASCRIPT Javascript 6
E [Javascript] problema con margine quando viene mostrato div Javascript 0
A [Javascript] Problema focus() solo su osx Javascript 2
S Problema con script php-javascript PHP 2
L [WordPress] Problema Javascript nel log del browser WordPress 1
S problema con gli array in javascript Javascript 12
M problema ciclo javascript Javascript 4
C Problema con OnClick Javascript Javascript 13
A problema : codice javascript Javascript 1
C Problema javascript su chrome e firefox Javascript 2
H problema con select dinamiche e javascript Javascript 0
M Problema con aggiornamento variabili da web server con javascript Javascript 1
X Problema con php e javascript jQuery 0
M problema con JavaScript Javascript 2
F Problema di programmazione in javascript Javascript 2
V Problema php / javascript Presentati al Forum 1
S Problema con javascript Javascript 3
F [risolto] Problema javascript Internet Explorer Javascript 1
S Problema non riconosce javascript Javascript 7
S Problema javascript singoli apici Javascript 3
S Problema PHP + Javascript PHP 1
T [Javascript] [RISOLTO] Problema con Google Maps e "Zero_Results" Javascript 11
C Problema form javascript che non funziona Javascript 4
P Problema ocon verifica campo in javascript Javascript 7
S Problema trasformazione array php in javascript PHP 0
F Javascript: problema con onclick event Javascript 3

Discussioni simili