Rolf B: Flexbox(en) einzel ansprechen und füllen

Beitrag lesen

Hallo Jochbart,

...die einzelnen Boxen bekommen automatisch die id zugewiesen?

Nein

Oder muss ich diese in deinem Beispiel erst noch zuweisen?

Ja.

// erwartet Kapitelnummer beginnend mit 1
function findChapter(i) {
   // entweder  
   return document.getElementById('chapter'+i);
   // oder
   return document.querySelectorAll('main section')[i-1];
   // oder
   return document.querySelectorAll('main .formChapter')[i-1];
}

Worin liegt der Unterschied dieser 3 returns?

Im vorausgesetzten HTML. Bei Nr. 1 arbeitest Du mit der ID und baust die ID per Stringoperation zusammen. Das setzt eine fortlaufende ID Vorgabe voraus. Es ist dafür aber egal, wo diese Elemente stehen.

Die beiden anderen Methoden setzen eine bestimmte HTML Struktur voraus. Nr. 2 adressiert die section-Elemente im main Element. Das funktioniert, wenn deine Formular-Teile als section in main stehen und es keine anderen Sections in main gibt. Nr. 3 spricht nicht die Sections an, sondern Elemente, die die Klasse formChapter haben. Das können die Sections sein, aber auch was anderes (falls Du z.B. unbedingt div oder article oder p nehmen wolltest).

Guck Dir an, was getElementById und querySelectorAll tun, dann weißt Du mehr 😀

ok von remove habe ich noch nichts gehört. Werde ich mir mal anschauen!

Google man nach "kangax" - der hat eine umfangreiche Liste von Javascript-Funktionalitäten und wo sie funktionieren. Außer unserem WIKI ist auch das Mozilla Developer Network eine gute Referenz.

Naja ich stelle mir das so vor: Im Endeffekt habe ich 2 Dokumente, meine HTML Seite in der nur das horizontale Navigationsmenü oben fest definiert ist. Darunter füge ich Flexboxen ein und verknüpfe diese jeweils mit einer der Menüpunkte um dort hin zu springen.

Als zweites Dokument soll ein (längenveränderbares) Formular sein. Ein Benutzer kann dort alles in Textfelder (und upload) eingeben. Von der Überschrift, bis hin zu Bildern und Videos.

Es stellt sich die Frage, wo diese Texte, Bilder und Videos gespeichert werden sollen.

Die "Kapitel" des Formulars sollen immer gleich ausschauen um damit jeweils eine Flexbox im gleichen Schema zu füllen. Die Daten wie Bilder müssen ja trotzdem Platz im HTML Code finden um diese auf der Seite anzuzeigen. Deswegen meinte ich damit sie werden von dem Formular zum HTML Dokument geschickt und anschließend dort angezeigt. Klar müsste man lediglich den Pfad des Bildes oder Videos im HTML Dokument angeben, doch wie realisiere ich das über das Formular (Der Benutzer hat keine HTML Kenntnisse).

Ich glaube, Du hast die Funktionsweise eines Webservers nicht verstanden. Daten, die ein Benutzer eingibt, werden nicht magisch in ein anderes Dokument übertragen. "Vom Formular ins HTML Dokument schicken" - sorry, nein, das passiert einfach nicht. Dafür muss serverseitig Code laufen, der das verwaltet (und ggf. auch verhindert, dass Müll oder Scriptattacken hochgeladen werden). Wenn du das nicht selbst bauen willst, empfehle ich Dir ein Content-Management System wie Wordpress.

Rolf

--
Dosen sind silbern