不能使用If-Java脚本中存在Else元素

时间:2019-10-18 09:19:12

标签: javascript html if-statement

我写了一个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 个答案:

答案 0 :(得分:1)

您应将tbl的{​​{1}}的ID设置为'tbl'

答案 1 :(得分:0)

您正在检查表的ID,但从不分配一个。

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();
  }

};