Hallo Community,
ich habe ein Formular erstellt, das soweit auch gut funktioniert. Jetzt wollte ich, dass wenn man auf einen Button drückt noch 4 weitere Eingabefelder an das Formular hin zugefügt werden.
Hier soweit mein Code:
JavaScript
function updateLegung(legungsId)
{
//Falls eine Legung neu erstellt werden soll, ist de Uebergabewert == Null.
if (legungsId == 0){
//Debuggin-Zweck
console.log("er geht rein");
//Es wird die Anzahl der Legungen iteriert.
anzahlLegungen++;
//Initialisierung von Hilfsvariablen.
var m = anzahlLegungen;
var n = anzahlLegungen.toString();
//Der spaetere Namen fuer diese Legung wird erstellt.
var lengthName = "length_" + n;
var legebarrenName = "legebarren_" + n;
var legungName = "legung_" + n;
var stueckzahlName = "anzahl_" + n;
//Jetzt werden die Eingabefelder erstellt.
var einzufuegendeLength = document.createElement("input");
var einzufuegendeLegebarren = document.createElement("select");
var einzufuegendeLegung = document.createElement("input");
var einzufuegendeStueckzahl = document.createElement("input");
//Attribute werden zugewiessen.
einzufuegendeLength.type = "number";
einzufuegendeLength.name = "Die gewünschte Rapportlänge";
einzufuegendeLength.id = lengthName;
einzufuegendeLength.step = "2";
einzufuegendeLength.required = "required";
einzufuegendeLegebarren.name = "Der gewünschte Legebarren";
einzufuegendeLegebarren.id = legebarrenName;
//HIER NOCH WERTE EINFUEGEN!!!
einzufuegendeLegebarren.options[0] = new Option("");
einzufuegendeLegung.type = "text";
einzufuegendeLegung.name = "Die gewünschte Legung";
einzufuegendeLegung.id = legungName;
einzufuegendeLegung.maxLength = "";
einzufuegendeLegung.size = "10";
einzufuegendeLegung.required = "required";
einzufuegendeLegung.onfocus = "updateLegung(m)";
einzufuegendeStueckzahl.type = "number";
einzufuegendeStueckzahl.name = "Die gewünschte Anzahl";
einzufuegendeStueckzahl.id = stueckzahlName;
einzufuegendeStueckzahl.required = "required";
//Jetzt werden die Objekte in die Seite eingefuegt.
document.body.appendChild(einzufuegendeLength);
document.body.appendChild(einzufuegendeLegebarren);
document.body.appendChild(einzufuegendeLegung);
document.body.appendChild(einzufuegendeStueckzahl);
} else {
//Debuggin-Zweck
console.log("nichtfunktioniert");
}
}
Alles anzeigen
Die Eingabefelder werden auch soweit an das Formular angefügt. (Das ich das einfach an den Body hänge, ist erstmal nur zu Testzwecken!
Leider aber werden aber die Attribute "required" falsch in HTML überführt, es steht dann im Quellttext: required="" und nicht required="required", dazu kommt, dass onfocus überhaupt nicht übernommen wird.
Muss man das anders Regeln, oder kann mir jemand aufzeigen wo mein Fehler liegt?
Vielen Dank!