wahrscheinlich bin ich blind

Dieses Thema im Forum "Web Page Design" wurde erstellt von Steglich, 22.11.2004.

  1. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    oder warum wird mir bei folgender Funktion nur die Meldung mit subject ausgegeben, wenn die anderen Felder auch leer sind:
    HTML:
    function checkForm() {
    
    var checkfelder = new Array();
    var meldung = '';
    
    checkfelder[0] = "subject"; // Bezeichnungen der Formularfelder
    checkfelder[1] = "EmailText";
    checkfelder[2] = "email";
    
    for (var i = 0; i < checkfelder.length; i++) {
        if (document.myForm.elements[checkfelder[i]].value == '') {
            if (meldung == '') {
            		meldung = checkfelder[i];
            } else { 
            		meldung = meldung + ', ' + checkfelder[i];
            }
        }
    if (meldung == '') {
        return true;
    } else {
        meldung = 'Damit wir die Email korrekt empfangen k&ouml;nnen, sollten Sie bitte noch folgende Felder eingeben:\n' + meldung;
        alert (meldung);
        return false;
    }
    } // for
    } // function checkform
     
  2. Thommy

    Thommy MacUser Mitglied

    Beiträge:
    1.833
    Zustimmungen:
    0
    MacUser seit:
    23.06.2003
    hm.. also ich seh keine Fehler.
    Evtl liegt der Fehler hier:

    document.myForm.elements[checkfelder].value == ''

    Heißen die Formular Elemente denn auch "EmailText" und "email" ? Wenn nicht, würde er die ja nicht verarbeiten.
     
  3. current

    current MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    1
    MacUser seit:
    02.10.2004
    Weil das if (meldung = '') im for-loop steht und bei ersten leeren Feld true zurückgibt?

    Hint: Es zählen die {}, nicht die Einrückung.
     
  4. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    Formularfelder richtig

    die anderen beiden Formularfelder sind auch richtig angegeben.
    Schon langsam komme ich mir richtig blöd vor.
     
  5. Thommy

    Thommy MacUser Mitglied

    Beiträge:
    1.833
    Zustimmungen:
    0
    MacUser seit:
    23.06.2003
    Nee.. das ist schon soweit richtig. Innerhalb der Schleife wird halt gefragt ob bisher eine FehlerMeldung existiert. Wenn ja, dann füge den 1. Wert hinzu. Beim nächsten durchlauf wird der Else-Fall wirksam und es wird der 2. oder 3. an die bestehende Meldung gehängt.
     
  6. current

    current MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    1
    MacUser seit:
    02.10.2004
    Nein, es ist falsch. Die Meldung wird bei der Verschachtelung nur dann angezeigt, wenn das erste Feld leer ist. Ansonsten wird der for-Loop sofort abgebrochen. Das 'if (meldung ='') ..' gehört einfach hinter den for-Loop.
     
  7. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    for Schleife

    gerade habe ich festgestellt, dass meine for Schleife nur einmal durchlaufen wird, aber warum?
     
  8. Thommy

    Thommy MacUser Mitglied

    Beiträge:
    1.833
    Zustimmungen:
    0
    MacUser seit:
    23.06.2003
    Achsoo, du meinst das 2. meldung==''.

    Jo stimmt. Da fehlt eine } vor dem
    if (meldung == '') {
    return true;
    }
     
  9. current

    current MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    1
    MacUser seit:
    02.10.2004
    Weil du dass geschrieben hast
    Code:
    for ( ... ) {
        if (...) {
        }
    
        if (meldung = '') {
            return ...
        }
    }
    
    aber das meinst:
    Code:
    for ( ... ) {
        if (...) {
        }
    }
    if (meldung = '') {
        return ...
    }
    
     
  10. current

    current MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    1
    MacUser seit:
    02.10.2004
    Genau, das ist der Fehler. Gemeinerweise ist seine Einrückung richtig, aber seine Klammerung nicht.
     
Die Seite wird geladen...
Ähnliche Themen - wahrscheinlich bin blind
  1. cube82
    Antworten:
    1
    Aufrufe:
    388
    Jakob
    11.04.2007
  2. barbour
    Antworten:
    9
    Aufrufe:
    660
  3. arwen
    Antworten:
    8
    Aufrufe:
    596
    arwen
    13.12.2003