2017-07-16 5 views
0

Ich habe eine einfache Funktion, die Javascript verwendet, um eine Tabelle in den Text einer Webseite zu schreiben. Wenn ich die Funktion direkt aufruft, wenn die Übergabeschaltfläche gedrückt wird, ruft sie die Funktion auf und sie wird ordnungsgemäß ausgeführt. Wenn ich die Funktion jedoch in eine andere Funktion wie den function constructor() ... einfüge, wird nichts getan. Ich bin sehr neu in Javascript und bin wirklich nur auf der Suche nach einer Erklärung, warum das so funktioniert, wie es funktioniert.Warum kann diese JavaScript-Funktion diese andere Funktion nicht aufrufen?

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

Die 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

weiß nicht, ob es nur hier oder in Ihrem aktuellen Code, sondern 'baueTabelle()' in Ihrer Funktion wird fälschlich geschrieben ist:

function constructor(){ maketable(); } 

Es sollte makeTable(); sein. – meow

+0

Ja, das habe ich gemerkt, nachdem ich diese Frage gepostet und geändert habe. Es führt die Funktion jedoch immer noch nicht aus. – JLH

+0

Vielleicht versuchen Sie es mit einem anderen Funktionsnamen. Zusätzlich müssen Sie diese Funktion natürlich auch aufrufen. – meow

Antwort

1

Blick auf, wie u die Funktion geschrieben !! D

+0

Ja, das habe ich gemerkt, nachdem ich es eingereicht habe. Es wird jedoch immer noch nicht ausgeführt. – JLH

Verwandte Themen