[JavaScript] dynamische Felderfassung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] dynamische Felderfassung

    Hallo,

    als Titel ist mir nichts besseres eingefallen

    Ich habe einen Array, in dem die Feldnamen enthalten sind und möchte mit einer for-Schleife den Inhalt der Felder ermitteln.

    Leider funktioniert das so nicht.
    Ich habe schon an die PHP-Funktion eval gedacht und ob ich sowas nicht auch in JavaScript einsetzen könnte. Aber irgendwie will das alles nicht funktionieren.

    Die Problemstelle ist formular.felder[i].value.
    Dies müsste eigentlich für i = 0: formular.kuenstler_id.value lauten.
    Aber mir ist auch klar, dass die Zeile so nicht korrekt ist.
    Ich finde aber keinen Lösungsweg...

    PHP-Code:
    <script type="text/javascript">
      function 
    checkSubmit(formular) {
        var 
    felder = ['kuenstler_id''name''passwort'];
        var 
    namen = ['Künstler''Benutzername''Passwort'];
        
        for (var 
    i=0i<felder.lengthi++) {
          var 
    wert = eval(formular.felder[i].value);
          
    alert(wert);
          break;
          if(
    wert == '' || parseInt(wert) <= 0) {
            
    alert('Bitte füllen Sie folgendes Feld aus: '+namen[i]);
            
    formular.felder[i].setFocus();
            return 
    false;
            break;
          }
        }
      }
    </
    script
    Ich möchte das aber nicht über getElementById gestalten.

    Vielen Dank für Hinweise.

    gruß
    Piremilok

  • #2
    Servus,

    ich stand mächtig auf'm Schlauch.
    Eben mit meinem Stühlchen zur Seite gerollt und... Lösung gefunden.

    eval() gibt es auch in Javascript und es wird auch genauso angewendet:

    aus: [COLOR=red]eval(formular.felder[i].value); [/COLOR]
    muss logischerweise dann auch: [COLOR=green]eval("formular."+felder[i]+".value");[/COLOR]
    gemacht werden!

    Vielleicht nützt dem ein oder anderem die Lsg. ja.


    Trotzdem vielen Dank.
    Ich weiß, ihr hättet mir ruckzuck auf die Sprünge geholfen...


    gruß
    Piremilok

    Kommentar


    • #3
      Was hältst du denn von
      PHP-Code:
      var wert formular[felder[i]].value); 
      , so ganz ohne eval?

      Kommentar

      Lädt...
      X