2017-07-16 150 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