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

    Problemi con il metodo getElementById

    Salve a tutti ragazzi

    ho un problema con l'utilizzo del metodo getElementById.

    In pratica tramite uno js dovrei modificare dinamicamente gli elementi di un documento XHTML con l'utilizzo del metodo getElementById e della proprietà innerHTML, devo fare per forza così, è una traccia di esame e ha delle specifiche particolari.

    Allora prima di risolvere il vero problema ho pensato di vedere un pò questa proprietà facendo un piccolo esercizietto copiato lettera per lettera dall'esempio proposto dal PROF e in aula funzionava. Ma quando lo vado a provare mi dice il seguente errore:::

    document.getElementById(...). è nullo o non è un oggetto ma non riesco a capire il preche.

    Vi posto qui sotto il codice e spero che voi possiate aiutarmi.

    Grazie a tutti anticipatamente





    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>esercirazione 23/04/2009</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    document.getElementById('displayDiv').innerHTML="p pp£";
    //-->
    </script>

    </head>
    <body>

    <p id="displayDiv">La somma dei numeri è: </p>
    <div id="displayDiv"></div>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    40
    Lo script viene eseguito prima che l'elemento che gestisce venga renderizzato.
    Usa una funzione che assocerai all'evento onload.

  3. #3
    Sposto nel forum Javascript :rollo:
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    1 ipotesi:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>esercirazione 23/04/2009</title>
          <script language="JavaScript" type="text/javascript">
          <!--
    	  window.onload=function(){document.getElementById('displayDiv').innerHTML="ppp£";}
          //-->
          </script>
    
    </head>
    <body>
    
       <p id="displayDiv">La somma dei numeri è: </p>
    	 <div id="displayDiv"></div>
    </body>
    </html>
    2 ipotesi:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>esercirazione 23/04/2009</title>
    
    </head>
    <body>
    
       <p id="displayDiv">La somma dei numeri è: </p>
    	 <div id="displayDiv"></div>
    </body>
          <script language="JavaScript" type="text/javascript">
          <!--
    	  document.getElementById('displayDiv').innerHTML="ppp£";
          //-->
          </script> 
    </html>


    ID devo essere univoci pertanto o togli il tag p o il tag div
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ok ok grazie a tutti per il vostro interessamnto

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    40
    @Cavicchiandrea: solo la prima è valida (parzialmente).
    Nella seconda vi è un elemento script laddove non è consentito dal doctype.
    L'unico maniera di usare i doctype XML-derived (XHTML per intenderci) in maniera corretta è apprenderne a fondo gli standard.
    Il problema della prima ipotesi sta nell commento dello script con <!--: secondo lo standard un commento è un commento e se i brower rispettassero tale regola (non possiamo prevedere se e quando lo faranno) il codice non verrebbe eseguito.
    Il giusto modo di inserire uno script inline nei documenti XHTML è chiuderlo in una sezione CDATA.
    Altro problema: le sezioni CDATA nei browser attuali generano errori "javascript": come risolvere?
    Commentando (come script) la dichiarazione CDATA:
    codice:
    <script type="text/javascript">
    /*<![CDATA[*/
    window.onload=function(){document.getElementById('displayDiv').innerHTML="ppp£";}
    
    /*]]>*/
    </script>

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @PaoloIT esempi indicativi (scritti in fretta senza controllo) non una lezione sul doctype.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.