Veröffentlicht 31. Oktober 200420 j 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
6. November 200420 j 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.
6. November 200420 j Autor 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
6. November 200420 j 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++) { }
6. November 200420 j Autor Das mit dem Array ist auch keine schlechte Idee. Meine Version funktioniert jetzt bis auf ein paar Kleinigkeiten. Frank
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.