Input-Array-Felder addieren

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

  • Input-Array-Felder addieren

    Hallo!

    Ich habe gesucht aber nicht genau das gefunden, woran ich hänge.
    Ich habe folgendes Problem: Mein Formular sieht aus wie folgt:

    PHP-Code:
    <input type="text" name="st_stunden[]" size="5" maxlength="5">
    <
    input type="text" name="st_stunden[]" size="5" maxlength="5">
    <
    input type="text" name="st_stunden[]" size="5" maxlength="5">
    <
    input type="text" name="st_stunden[]" size="5" maxlength="5"
    Dann habe ich noch ein Input-Feld, das heisst "summe" und ich hätte gerne mit Javascript, dass wann immer ein Wert in einem st_stunden Feld geändert wird, die richtige Summe aller st_stunden-Felder angezeigt wird. Mein Problem ist die Schleife zu durchlaufen. Ich hatte z.B. schon sowas:

    PHP-Code:
    for(i=0document.forms[0].st_stunden.lengthi++){
       
    summe summe document.forms[0].st_stunden[i].value;

    Aber leider bekomme ich schon bei der for-Schleife die Fehlermeldung "document.forms.0.st_stunden.length ist Null oder kein Objekt". Ausserdem stimmt das document.forms[0].st_stunden[i].value wohl auch nicht.

    Wie kann ich auf die Einzelwerte des Arrays mit Javascript zugreifen? Wie ich in PHP die Werte im empfangenden Script auswerte weiß ich, kein Problem...

    Danke

    Gruss

    Yeza
    mens agitat molem

  • #2
    http://de.selfhtml.org/javascript/ob...tm#allgemeines

    Kommentar


    • #3
      Hallo!

      Die Seite kannte ich schon. Warum das vorher nicht funktioniert hat weiss ich nicht, jetzt geht's aber und hier ist die Lösung für alle die, die mal das gleiche Problem haben:

      PHP-Code:
          function addIt(){
              
              var 
      std;
              var 
      summe 0;
              
              for(
      i=0document.forms[0].elements.lengthi++){
              
      //    Alle Felder mit Namen st_stunden addieren wenn nicht leer
                  
      if(document.forms[0].elements[i].name == 'st_stunden[]' && document.forms[0].elements[i].value != ''){
                  
      //    eingegebenes , in . umwandeln
                      
      std document.forms[0].elements[i].value.replace(/\,/,'.');
                      
      summe summe Number(std);
                  }
              }
              
              
      document.forms[0].summe.value summe;
              
          } 
      Bei den input-Feldern im Formular dann angeben onChange="addIt()".

      Gruss

      Yeza
      mens agitat molem

      Kommentar

      Lädt...
      X