skip to Main Content
     for(const id of this.extraRooms)
            {
              let doesRoomExist = document.getElementById('newRoomAddress' + newRoomId);
              //if(typeof(doesRoomExist) !== "null")              
               if(typeof(doesRoomExist) !== "undefined")
              {
                  const newRoomLabel = document.getElementById('newRoomAddress' + newRoomId).value        
             {

Probably a simple fix but if doesRoomExist is NULL it is still going inside the if statement…

let doesRoomExist = document.getElementById('newRoomAddress' + newRoomId);

will show doesRoomExist as NULL when stepping through the code in VS code, but show as undefined if used in developer tools…why is it going inside the if?

any help please?

2

Answers


  1. You should check the value of doesRoomExist directly not its type, you can either check if (doesRoomExist !== null) or just doing if (doesRoomExist) will be enough;

    if(doesRoomExist !== null)
        const newRoomLabel = document.getElementById('newRoomAddress' + newRoomId).value
    
    Login or Signup to reply.
  2. Just use if (doesRoomExist) { /*...*/ }.

    for (const id of [1, 2, 3, 4, 5]) {
      const doesExist = document.getElementById('item' + id);
      if (doesExist) {
        const newLabel = document.getElementById('item' + id).value;
        console.log(newLabel);
      }
    }
    <input id="item1" value="value1">
    <input id="item2" value="value2">
    <input id="item4" value="value4">
    <input id="item5" value="value5">
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search