Hallo und guten Abend,
seit gestern beschäftigt mich ein nicht nachvollziehebarer Fehler (?) bei der Verwendung des "push"-Befehls.
Ich gebe zuvor eingegelesene Daten aus, exemplarisch an der Rubrik "Adresse" verdeutlicht:
Screenshot1
Klicke ich nun auf [Ändern], dann bekomme ich ein "PopUp", in dem ich alle Felder ändern kann:
Screenshot2
Verlasse ich nun ein geändertes Eingabefeld, dann wird geprüft, ob die ID bereits im Array "A" enthalten ist und wenn nicht - zu Testzwecken - eine entsprechende Meldung, der neue Inhalt, die dem Eingabefeld zugewiesene ID und der Inhalt des Array "A" ausgegeben:
Screenshot3
Screenshot4
Screenshot5
Screenshot6
Wie ihr seht, werden alle Werte angezeigt, d.h. die Abfrage der einzelnen Werte funktioniert, auch am "push"-Befehl kann ich keinen Fehler entdecken, aber dennoch wird die ID dem Array "A" nicht hinzugefügt.
Hier der betroffene Code mit ergänzten Hinweisen auf die jeweiligen Screenshots:
var A = [];
function Pruefen (W, U, V)
{
var W = document.getElementById(W),
I = W.value,
N = W.parentNode.id.replace(/[^\d]/g, ""),
IL = document.getElementById("IL" + N),
IM = document.getElementById("IM" + N),
IR = document.getElementById("IR" + N),
OL = document.getElementById("BL3"),
OM = document.getElementById("BM3"),
OR = document.getElementById("BR3"),
R = new RegExp (V, "i");
if (R.test (I))
{
if (I != U)
{
alert ("Nicht gefunden"); <--- Screenshot3
if (inArray (A, W.id) === false)
{
alert(I); <------ Screenshot4
alert(W.id); <--- Screenshot5
A.push (W.id);
}
OL.className = "BL3_0";
OM.className = "BM3_0";
OR.className = "BR3_0";
}
else
{
}
alert(A[0]); <--- Screenshot6
}
else
{
IL.className = "IL2";
IM.className = "IM2";
IR.className = "IR2";
}
}
Warum funktioniert das Hinzufügen nicht?
Vielen Dank für eure Hilfe und Gruß,
Enrico