Formular++
als Präsentation ▻Zeile zu einem Formular hinzufügen
Ohne Javascript sind Web Formulare statisch. Um Eingabelemente hinzuzufügen oder zu löschen braucht man Javascript.
In diesem Beispiel verwenden wir Javascript, um ein Pizza-Bestellformular zu verändern.
Die wichtigsten DOM-Befehle für dieses Beispiel sind cloneNode() und insertBefore().
Mit cloneNode können wir die Kopie eines einzelnen DOM-Knoten oder eines ganzen DOM-Baums erstellen.
Dieser Klon ist zuerst einmal nicht Teil des Originaldokuments. Man muss ihn erst wieder
einfügen:
let p = document.querySelector("div.pizza");
let new_pizza = p.cloneNode(true);
Eingabeelemente zu clonen ist nicht trivial: jedes Eingabeelement benötigt einen eindeutigen Namen.
Es wäre eine Menge Arbeit, um neue Namen für neue Eingabeelemente zu erzeugen. In diesem Beispiel
vermeinden wird das mit Hilfe von PHP: PHP kann GET-Parameter als Array behandeln:
Wenn wir das Eingabe-Element size nennen, ist sein Wert in in PHP als $_GET['size'] erhältlich und zwar als String.
Wenn wir mehrere Eingabeelemente mit dem namen size[] versehen (mit eckigen Klammern als Teil des Namen),
sind die Werte all dieser Felder wieder als $_GET['size'] erhältlich, und zwar als Array.
Deswegen sieht eine Zeile des Pizza-Bestellformulars so aus:
<div class="pizza">
<span class="removethis">x</span>
<select name="pizzatype[]">
<option selected="selected">Magaritha</option>
<option>Vegetarian</option>
<option>Quattro Staggione</option>
</select>
<br>
<label>add Garlic
<select name="addgarlic[]">
<option selected="selected">no</option>
<option>yes</option>
</select>
</label>
<label>add Cheese
<select name="addcheese[]">
<option selected="selected">no</option>
<option>yes</option>
</select>
</label>
<br>
<label>anything else?
<input name="comment[]" type="text">
</label>
</div>
Fertiges Formular Demo
Kapitel
- Das Web Und Html
- Css
- Css Layout
- Urls
- Formulare
- Javascript Dom
- Jquery
- Kommandozeile
- Git
- Http
- Php Vorbereitung
- Php
- Php Db Lesen
- Session
- Php Db Schreiben
- Php Db Optimierung
- Grafik
- Javascript
- Applied Jquery And Css
- Json
- Xml
- Security
- Injection
- Authentifizierung und Session-Management
- Cross Site Scripting (XSS)
- Unsichere direkte Objektreferenzen
- Sicherheitsrelevante Fehlkonfiguration
- Verlust der Vertraulichkeit sensibler Daten
- Fehlerhafte Autorisierung auf Anwendungsebene
- Cross-Site Request Forgery (CSRF)
- Nutzung von Komponenten mit bekannten Schwachstellen
- Ungeprüfte Um- und Weiterleitungen
- Wordpress
- Apache
- Advanced Javascript
- Qualitaet
