Ashura: Tabelle automatisch erweitern

Beitrag lesen

Hallo Sascha.

nein 10 Eingabe Felder in 10 Zeilen wäre ja nun langsam sogar für mich nicht mehr so schwer. Ich will 10 Eingabe felder in einer Zeile haben.

Dann füge Zeile+Zelle in die Tabelle und hierin wiederum mit bereits erwähnter Schleife die 10 Eingabefelder ein.

Blicke bei dem Script zum schluß nicht ganz durch .

Ich erkläre es gerne, also schauen wir einmal. Ich werde versuchen, zusätzlich alternative Lösungsmöglichkeiten aufzuzeigen, sofern passend.

var tbl = document.getElementById('Tabelle'); // Spricht die Tabelle über die ID an

Die Tabelle könntest du hier (bei mehreren Tabellen im Dokument natürlich mit einem anderen Index) ebenso gut aber auch per document.getElementsByTagName('table')[0] (0 für die erste Tabelle) referenzieren. Damit würdest du dir die unnötige (und zudem momentan noch recht aussagefreie) ID ersparen. Dahinter steckt wie so oft die Reduzierung des HTMLs auf ein Minimum. Alle weiteren Schichten (vorrangig CSS und JS) können dann hierauf aufbauen.

var lastRow = tbl.rows.length; // zählt wieviel Zeilen(rows) die Tabelle hat

Und die Variable wird im folgenden nirgends wirklich sinnvoll genutzt.

var iteration = lastRow; // die Zeilen werden in die Variable "iteration" geschrieben

Nein, die Anzahl der Zeilen wird in „iteration“ abgelegt. Dies hättest du aber auch gleich direkt machen können:

var iteration = tbl.rows.length;

var cell1 = row.insertCell();  //hier wird doch eine Zelle in eine Zeile gesteckt oder?? wenn ja Warum?

Dies kannst du in Form einer Anmerkung im DOM HTML Level 2 erfahren:

Note: A table row cannot be empty according to [HTML 4.01].

var textNode = document.createTextNode(iteration);

Hier wird ein neuer Textnoten erzeugt, dessen Wert dem Inhalt von „iteration“ entspricht. Da du hier keine Schleife verwendest, welche diesen Wert kontinuierlich modifiziert, wird stets der selbe Wert eingetragen.

cell1.appendChild(textNode);

Hier wird schließlich der Textknoten in die Tabellenzelle eingehangen.

Bitte helf mir doch hier bei

Ich hoffe einige Unklarheiten aus der Welt geschafft zu haben.

Einen schönen Dienstag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]