Metodo getElementById non funziona

di il
2 risposte

Metodo getElementById non funziona

Ciao a tutti, sto iniziando con javascript come mai non funziona questo script? cioè non compare nel paragrafo il contenuto di str.

<html> <head> </head>
<body>
<script type="text/javascript">
str="ciao";
document.getElementById("proviamo").innerHTML=str;
</script>
<p id="proviamo"> </p>
</body>
</html>

2 Risposte

  • Re: Metodo getElementById non funziona

    Ciao, il problema è che il codice html (e non solo quello, in generale qualsiasi cosa) viene letto dall'alto verso il basso. Di conseguenza quell'istruzione viene eseguita prima ancora che il paragrafo con id="proviamo" sia stato letto e mostrato. Per cui il metodo getElementbyId("proviamo") cerca un elemento che ancora non esiste.

    La soluzione, quindi, è quella di eseguire il codice dopo che gli elementi sono stati caricati. Tipicamente si sfrutta l'evento "onLoad" del body, che viene richiamato quando quell'elemento è stato caricato completamente:
    
    <html> <head> </head>
    <body onload="myFunction();"> <!-- Chiamo la funzione nel momento giusto -->
    <script type="text/javascript">
    function myFunction() {
    	alert(document.getElementById("proviamo"));
    }
    myFunction(); // Chiamo la funzione troppo presto
    </script>
    <p id="proviamo">Testo precedente </p>
    </body>
    </html>
    
  • Re: Metodo getElementById non funziona

    Ok grazie molte.
Devi accedere o registrarti per scrivere nel forum
2 risposte