robotto7831a Geschrieben 31. Oktober 2004 Geschrieben 31. Oktober 2004 Hallo zusammen, ich habe eine Seite die wie eine Tabelle aufgebaut ist. Oben von links nach rechts die Anzahl der Tage im Monat. Links eine Spalte mit Projekten und rechts eine Summenspalte. Jetzt soll in jedem Inputfeld bei onChange die Summenspalte neu berechnet werden. Das Problem ist jetzt, dass die Inputfelder dynamsich erzeugte Namen haben. Z. B. 1AB, 2AB, 3AB, 1QU, 2QU, 3QU..... Ich wollte jetzt mit window.document.aufwand.xxxxxxx.value darauf zugreifen. Jetzt muss aber xxxxxxx durch den richtigen Namen ersetzt werden. Und da macht mir JS einen Strich durch die Rechnung. Hat jemand eine Idee? Mit dem Index darauf zugreifen geht nicht, da ich ja die Anzahl der Inputfelder nicht kenne. Frank Zitieren
kills Geschrieben 1. November 2004 Geschrieben 1. November 2004 wie erstellst du die Input felder dynamisch? aus php? aus JS? Zitieren
robotto7831a Geschrieben 1. November 2004 Autor Geschrieben 1. November 2004 Die Felder werden mit PHP erzeugt. Frank Zitieren
FMG Geschrieben 6. November 2004 Geschrieben 6. November 2004 Die Felder werden mit PHP erzeugt. Dann setz den JavaScript-Code mittels <script type="text/javascript"> function ... </script> in die PHP-Datei. - Dann kannst du auch im JavaSript-Code <?php echo $variable; ?> o.ä. schreiben. Zitieren
robotto7831a Geschrieben 6. November 2004 Autor Geschrieben 6. November 2004 Das man JavaScript auch in PHP Datei einfügen kann, weiss ich auch. Mein Problem war, dass ich von 1 bis x durch die Spalten gehen muss und die Zahlen addieren. Die Lösung hieß document.aufwand.elements[name_des_input_feldes].value. for (a=0; a<window.document.aufwand.anzahl_spalten.value;a++) { var b = a + 1; var anzahl = document.aufwand.elements[b +""+ spalte].value; ..... [/code] Frank Zitieren
kills Geschrieben 6. November 2004 Geschrieben 6. November 2004 Das man JavaScript auch in PHP Datei einfügen kann, weiss ich auch. Mein Problem war, dass ich von 1 bis x durch die Spalten gehen muss und die Zahlen addieren. Die Lösung hieß document.aufwand.elements[name_des_input_feldes].value. for (a=0; a<window.document.aufwand.anzahl_spalten.value;a++) { var b = a + 1; var anzahl = document.aufwand.elements[b +""+ spalte].value; ..... Frank Ich weiss nicht ob das oben jetzt schon deine Lösung ist, aber du könntest auch ein array nutzen. heisst: <input type='text' name='ar[aq]' value='abc' /> <input type='text' name='ar[c1]' value='abc' /> <input type='text' name='ar[d6]' value='abc' /> dann in JS dann ma so probieren: var myArr = document.getElementsByName('ar'); for ( var i = 0; i < myArr.length; i++) { } Zitieren
robotto7831a Geschrieben 6. November 2004 Autor Geschrieben 6. November 2004 Das mit dem Array ist auch keine schlechte Idee. Meine Version funktioniert jetzt bis auf ein paar Kleinigkeiten. Frank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.