2017-07-16 111 views
0

我有一个简单的函数,它使用javascript写一个表格到网页的正文。如果我按下提交按钮时直接调用函数,它会调用该函数并正确执行,但如果我将函数包装在另一个函数中,例如函数constructor()...,则它不会执行任何操作。我对JavaScript非常陌生,我只是在寻找解释为什么它会像这样工作。为什么这个javascript函数无法调用这个其他函数?

function makeTable(){ 
var body = document.body, 
    tbl = document.createElement('table'); 
tbl.style.width = '100px'; 
tbl.style.border = '1px solid black'; 
for(var i = 0; i < 2; i++){ 
    var row = tbl.insertRow(); 
    for(var j = 0; j < 2; j++){ 
      var cell = row.insertCell(); 
      cell.style.border = '1px solid black'; 
      var myText = document.createTextNode("some val"); 
      cell.appendChild(myText); 
     } 
    } 
    body.appendChild(tbl); 
} 

function constructor(){ 
maketable(); 
} 

的HTML

<!-- 
test.html 
--> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head> 
    <title>JS Test</title> 
    <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
    <meta name="generator" content="Geany 1.27" /> 
</head> 

<body> 
    <script src = "test.js"></script> 
    <form> 
    </form> 
    <input type="submit" value="Submit" onclick="makeTable()"/> 

    <div id="output"></div> 
</body> 

</html> 
+0

不知道,如果它仅仅是在这里或在您的实际代码,但'makeTable()'在你的函数有错误拼写。 – meow

+0

是的,我发现这个问题后,我改变了它。但它仍然不执行该功能。 – JLH

+0

也许尝试使用不同的函数名称。此外,您显然也必须调用该函数。 – meow

回答

1

看看如何ü拼写功能!

function constructor(){ 
    maketable(); 
} 

它应该是makeTable(); :d

+0

是的,我提交后意识到。但它仍然没有执行。 – JLH