sR: unerklärliches JS-Verhalten

Beitrag lesen

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