[Javascript] Input-Felder klonen ohne JQuery

Für eine Parametererfassung benötige ich ggf. mehrere Felder für einen Wert. Generell kann man natürlich genügend Felder vorab erstellen, jedoch ist in meinem Fall nicht klar wie viele benötigt werden. Die Idee: Es ist nur ein Feld verfügbar, wird dies jedoch genutzt erstellt sich automatisch ein Weiteres hinter dem ersten Feld. Die meisten Beispiele nutzen JQuery, da meine Lust Externes einzupflegen nicht grade überwältigend groß ist musste VanillaJS herhalten.

<input type="text" name="Element1[]" onClick="clone.call(this)">

function clone() {
    var newNode = document.createElement(this.tagName);
    switch(this.tagName) {
         case "INPUT":
               newNode.type = this.type;
               newNode.name = this.name;
               newNode.value = "";
               newNode.onclick = function() { clone.call(this) };
               break;
                             
    }
    this.onclick = undefined;
    this.parentNode.insertBefore(newNode, this.nextSibling);
}

Sinnvoller als onclick wäre natürlich onchange, aber hey, Konzept funktioniert…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert