не может использовать If - Else элемент существует в Javascript - PullRequest
0 голосов
/ 18 октября 2019

Я написал функцию JS для создания таблицы в формате html и JS. Я хочу нажать кнопку Отправить, и после этого создать таблицу, но я не хочу, чтобы кнопка «Отправить» для создания другой таблицы при повторном нажатии я пытался использовать IF - Elseоператоры в функции, но она не работает

код:

Кнопка:

 document.getElementById("btn_submit").addEventListener("click",sizeGrid)

функция

 function makeGrid(x,y) {
    event.preventDefault();
    if (document.getElementById('tbl') != null)
      {
        return;
      }
      else
      {
        var body = document.getElementById('pixelCanvas');
        var tbl  = document.createElement('table');
        for(var i = 0; i < x; i++){
           var tr = tbl.insertRow();
            for(var j = 0; j<y; j++){
              var td= tr.insertCell()
           }

        }

         body.append(tbl);
         paint()
      }

      }

HTML

    <h2>Design Canvas</h2>
<table  id="pixelCanvas">
</table>

Таблица создается два раза после того, как я нажимаю на кнопку отправить два раза

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Вы должны установить идентификатор tbl на 'tbl' с помощью tbl.id = 'tbl'.

0 голосов
/ 18 октября 2019

Вы делаете проверку идентификатора таблицы, но никогда не назначаете ее.

function makeGrid(x,y) {
  event.preventDefault();
  if (document.getElementById('tbl') != null) {
    return;
  } else {
    var body = document.getElementById('pixelCanvas');
    var tbl  = document.createElement('table');
    tbl.id = "tbl"; // Assign the id for the check
    for(var i = 0; i < x; i++){
      var tr = tbl.insertRow();
      for(var j = 0; j<y; j++){
        var td= tr.insertCell()
        }
    }
    body.append(tbl);
    paint();
  }

};
...