Hallo zusammen,
kann mir irgendeiner erklären, warum dieser Code-Schnipsel nicht korrekt ausgeführt wird:
[..]
inputs=document.getElementById("tabelle_artikel").getElementsByTagName("input");
anzip=inputs.length;
[..]
for(i=0;i<=anzip-1;i++) {
// Mindesmengen prüfen
if(inputs[i].value<mimearr[i] && inputs[i].value!="") {
alert('Sie unterschreiten die festgesetzte Mindestbestellmenge (Zeile '+i+', '+mimearr[i]+' Einheiten) für diesen Artikel !\n\nBitte korrigieren Sie Ihre Eingabe !');
inputs[i].style.backgroundColor='red';
inputs[i].style.color='white';
inputs[i].focus();
return false;
}
}
[..]
Folgendes Verhalten zeigt sich :
Gebe ich in {Feld 1}={inputs[0]} einen Wert 1 ein, erkennt die Prg, dass dieser kleiner der Mindestbestellmenge 2 ist, der in mimearr[0] steht.
Durch den alert wird ausgegeben, dass in Zeile 0 der Mindestwert 2 nicht gegeben ist => daraus folgt, dass i=0 sein muss (logisch, bei der Programmierung)
Die Style-Eigenschaften ändert der Browser allerdings auf inputs[2] !!!!
Warum ist beim alert noch der korrekte Wert i=0 bekannt, eine Zeile weiter ist plötzlich i=2 ???
Habe diese Routine auch an anderen Stellen (Prüfung auf isNumber etc.) - da funktionierts fehlerfrei.
und...
habe ich noch während des Tippens hier getestet: setze ich den alert HINTER die Style-Anweisungen, funktionierts fehlerfrei.
Hinweis : Das Script wird durch Button aufgerufen; Browser IE
Thanks for help
Stephan