Uncaught TypeError: kan eigenschap ‘innerHTML’ van null niet instellen

Werken met Ajax… Ik kan er niet achter komen wat hier mis is. De fout treedt op in de code: objUserID.innerHTML = gebruikersnaam;. Het denkt dat de variabele gebruikersnaamnull is. gebruikersnaambevat wel gegevens omdat de volgende code dit bevestigt: console.log(“user: [“+username+”]”);Kan iemand dit achterhalen?

function actionBid(bidID,bidA,bidAction){
   var XMLHttpRequestObject = false;
   if (window.XMLHttpRequest)
   {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      XMLHttpRequestObject = new XMLHttpRequest();
   }
   else if (window.ActiveXObject) 
   {
      // code for IE6, IE5
      XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
   }
   if(XMLHttpRequestObject)
   { 
      // ==== GET BID ====
      if (bidAction == "getbid"){
      var objUserID = document.getElementById("curBidUser"+bidID); 
      var res = XMLHttpRequestObject.responseText;
      var username = res.substring(0,res.indexOf(','));
      console.log("user: ["+username+"]");
      objUserID.innerHTML = username;
      }
   }
}

Antwoord 1, autoriteit 100%

Hij denkt dat de variabele gebruikersnaamnull is

Niet waar. Het geeft aan dat het geen toegang heeft tot de eigenschap innerHTMLvan null. Met andere woorden, dat objUserIDnull is en dat je geen toegang hebt tot een eigenschap ervan.

Anders gezegd, jouw element bestaat niet.


Antwoord 2, autoriteit 78%

Als je dit probleem hebt, kan het zijn dat je je scripttag boven aan de body-tag hebt geplaatst voor al het andere. U wilt uw scripttag onderaan de body-tag plaatsen.


Antwoord 3, autoriteit 11%

Eigenlijk was het een laadprobleemcontrole met de volgcode.

setTimeout(function(){ 
  xYzFunction();    
}, 3000 )

Antwoord 4

Het betekent dat het element of het object niet is gevonden. Het bestaat niet.

Hier is een viool: http://jsfiddle.net/afzaal_ahmad_zeeshan/cF6Bh/

Je kunt zien dat de code werkt. Maar het element is niet aanwezig om JavaScript te laten werken.

Zorg ervoor dat het element aanwezig is. Of je moet ervoor zorgen dat de karakters in orde zijn of iets dergelijks.

document.getElementById("objectId").innerHTML = "Text";

De oplossing hiervoor zou zijn, de ID-parameter die u aan de methode doorgeeft, te wijzigen.


Antwoord 5

eigenlijk kan deze fout ook worden veroorzaakt door het aanroepen van als volgt document.getElementById("#content-content").innerHTML=output;

in plaats van zo

document.getElementById("content-content").innerHTML=output;

Other episodes