marie: If-abfragen in einer for-schleife?

Hi Jungs, ich hab mal ne Kleine Frage:

In einem Formular, welches ich dynamisch erzeugen lasse, will ich sicherstellen, dass die einzelnen Felder ausgefüllt werden.
Da die Anzahl der Felder nach dem Erzeugen feststeht, habe ich an eine for-schleife gedacht. Leider funktioniert der untere Code nicht, aber ich weiß nicht so ganz weshalb, habt ihr eine Idee?
Danke Schonmal! :-)

function chkFormular () {  
for (var i = 1; i <= schleifenanzahl; i++)  
{  
  if (document.Formular.vorname"+ i +".value == "") {  
    alert("Bitte Ihren Vornamen eingeben!");  
    document.Formular.vorname"+ i +".focus();  
    return false;  
  }  
  if (document.Formular.nachname"+ i +".value == "") {  
    alert("Bitte Ihren Nachnamen eingeben!");  
    document.Formular.nachname"+ i +".focus();  
    return false;  
  }  
}  
}

Die Formelemente sind automatisch aufsteigend numeriert und heißen vorname1, vorname2, vorname3 ...
und nachname1, nachname2, nachname3 ...

  1. Hi,

    Die Formelemente sind automatisch aufsteigend numeriert und heißen vorname1, vorname2, vorname3 ...

    http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
  2. Hi,

    Fehler innerhalb der Syntax an der Stelle "document.Formular.vorname"+ i +".value".

    Sollte es nicht wie folgt lauten: document.getElementById("vorname"+i).value
    Versuche es mal :)

    Gruß,
    Zerko

  3. Hi marie!

    Schau dir diese Zeile nochmal ganz genau an:

    if (document.Formular.vorname"+ i +".value == "") {

    Achte vor allem auf die Syntaxhervorhebungen rund um die Pluszeichen.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  4. document.Forms['Formular'].Elements['nachname' + i].value

    afaik kannst du's nach deiner Variante nicht machen, weil du ja keine Zeichenketten verbindest.

  5. Hiho!

    Nachdem Dein Problem ja nun von diversen Leuten entsprechend analysiert wurde:

    Ich weiß, daß Du das wahrscheinlich nicht hören magst, aber mit Deinem Code hast Du bei mir heute den ersten Preis für Niedlichkeit gewonnen.

    :)

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett