honk: variablen namen zusammenbasteln

so die suche hab ich benutzt aber nix gefunden oder ich hab nicht die passenden stichworte gefunden naja wie auch immer

also mein problem :
ich hab 15 eingabefelder input typ text
wovon drei immer zusammen gehören erste anzahl, zweite bezeichnung,dritte ist preis

also 5 zeilen je drei felder

und alle werden mit php ausgegeben und bennannt

anzahl1 ,bezeichnung1 ,preis1
                       anzahl2 ,bezeichnung2 ,preis2
                        ..etc
                       wie gesagt drei felder pro zeile

nur wie kann ich alle in einer schleife auslesen?

ich habe versucht mir den namen der felder in in js nachzubilden

so
for(var i = 1; i < 5; i++){

var ano=document.forms[myFormA].elements["anzahla"+i].value     ;
var bezo=document.forms[myFormA].elements["bezeichnunga" + i].value;
var epo=document.forms[myFormA].elements["stueckpreisa" + i].value ;

zgp+=ano*epo;

}

ich hat die gänsefüsschen auch schon durch einfache ersetzt und alles in runde klammern gepackt (inerhalb der eckigen)

aber es will und will ned klappen ich sitz nu schon 8 stunden dadran und kann nix machen/finden was des prob löst.
oder wie man so die namen der felder zusammen bauen kann
.
weiss jemand wie man sowas macht oder hat ne idee nen link oder irgentwas?

mfg
honk

  1. Hi,

    var ano=document.forms[myFormA].elements["anzahla"+i].value     ;

    wozu dienen die Backslashes da?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      var ano=document.forms[myFormA].elements["anzahla"+i].value     ;

      wozu dienen die Backslashes da?

      Cheatah

      die sind da weil der js code von php per echo ausgegeben wird sonst php mack nur escapte " in echo zeilen

      1. Hi,

        die sind da weil der js code von php per echo ausgegeben wird sonst php mack nur escapte " in echo zeilen

        *seufz* wie oft muss in diesem Forum eigentlich noch gesagt werden, dass es keinen, wirklich *gar keinen*, nicht den allerallergeringsten Sinn macht, bei clientseitigen Problemen irgendwelchen serverseitigen Code zu posten? Der Browser sieht keinen PHP-Code, verdammich! Warum irritierst Du uns also damit?

        Poste bitte *relevanten* Code, nicht irgendein willkürliches Gemisch.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          *seufz* wie oft muss in diesem Forum eigentlich noch gesagt werden, dass es keinen, wirklich *gar keinen*, nicht den allerallergeringsten Sinn macht, bei clientseitigen Problemen irgendwelchen serverseitigen Code zu posten? Der Browser sieht keinen PHP-Code, verdammich! Warum irritierst Du uns also damit?

          Poste bitte *relevanten* Code, nicht irgendein willkürliches Gemisch.

          Cheatah

          »»
          also der code ist doch relevant is doch java script gewesen ...ja gut nächstes mal nehm ich die backslashes raus wenns dann verständlicher ist an mir solls da ned liegen.ich dacht des wäre allgemein bekannt.

          :)

          mfg honk

          1. Moin!

            also der code ist doch relevant is doch java script gewesen ...ja gut nächstes mal nehm ich die backslashes raus wenns dann verständlicher ist an mir solls da ned liegen.ich dacht des wäre allgemein bekannt.

            Poste nicht das, was du glaubst, dass dein Skript zusammensetzt, sondern poste, das, was als Quellcode im Browser angekommen ist! Denn wenn irgendetwas im Browser nicht funktioniert, liegt es an _diesem_ Quellcode.

            Die Rückwirkungen von Korrekturen des Browser-Quellcodes in serverseitigen Skriptcode wirst du dann vermutlich allein hinkriegen.

            - Sven Rautenberg

            --
            ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  2. so die suche hab ich benutzt aber nix gefunden oder ich hab nicht die passenden stichworte gefunden naja wie auch immer

    also mein problem :
    ich hab 15 eingabefelder input typ text
    wovon drei immer zusammen gehören erste anzahl, zweite bezeichnung,dritte ist preis

    also 5 zeilen je drei felder

    und alle werden mit php ausgegeben und bennannt

    anzahl1 ,bezeichnung1 ,preis1
                           anzahl2 ,bezeichnung2 ,preis2

    Du kannst einfach alle so ausgeben:
    anzahl ,bezeichnung ,preis
    anzahl ,bezeichnung ,preis
    anzahl ,bezeichnung ,preis
    anzahl ,bezeichnung ,preis

    und dann kommst du mit

    document.forms['nameDesFormulars']['anzahl'].length an die anzahl der einzelnen Felder

    und greifst so darauf zu:

    var anzahl_felder = document.forms['nameDesFormulars']['anzahl'];

    for(var i = 0; anzahl_felder[i]; i++)
    {
        alert(anzahl_felder[i]);
    }

    die Variante ist wesentlich Wartungsfreundlicher, hat aber den Nachteil, dass sie nicht funktioniert, wenn es nur eine Zeile gibt.

    ..etc
                           wie gesagt drei felder pro zeile

    nur wie kann ich alle in einer schleife auslesen?

    ich habe versucht mir den namen der felder in in js nachzubilden

    so
    for(var i = 1; i < 5; i++){

    var ano=document.forms[myFormA].elements["anzahla"+i].value     ;
    var bezo=document.forms[myFormA].elements["bezeichnunga" + i].value;
    var epo=document.forms[myFormA].elements["stueckpreisa" + i].value ;

    ich vermute mal (du kennst http://glasgoogle.de?) das myFormA falsch ist.

    Struppi.

    1. Du kannst einfach alle so ausgeben:
      anzahl ,bezeichnung ,preis
      anzahl ,bezeichnung ,preis
      anzahl ,bezeichnung ,preis
      anzahl ,bezeichnung ,preis

      und dann kommst du mit

      document.forms['nameDesFormulars']['anzahl'].length an die anzahl der einzelnen Felder

      und greifst so darauf zu:

      var anzahl_felder = document.forms['nameDesFormulars']['anzahl'];

      for(var i = 0; anzahl_felder[i]; i++)
      {
          alert(anzahl_felder[i]);
      }

      die Variante ist wesentlich Wartungsfreundlicher, hat aber den Nachteil, dass sie nicht funktioniert, wenn es nur eine Zeile gibt.
      ich vermute mal (du kennst http://glasgoogle.de?) das myFormA falsch ist.

      Struppi.

      erstmal danke für die antwort klappt wunderbar nur wirft das ein neues problem auf:

      also ich hab alle felder gleich benannt also alle anzahlfelder heissen jetzt auch anzahl ,alle bezeichnung ....(also name='anzahl' etc..)

      gut ich kann sie jetz schön verarbeiten mit js Aber wenn ich das formular abschicken will überschreiben sich die variablen gegenseitig sprich von sagen wir fünf feldern bekomme ich nur den wert des letzten feldes wenns denn einen hat.
      weil sie ja jetzt alle gleich heissen.
      wenn ich sie wieder umbennenen würde hab ich wieder das gleiche problem wie vorher.

      man könnte sagen ich brauche eine technik die so funktioniert wie die die du gepostet hast nur das sie auf unterschiedliche feldnamen anwendbar sein muss.
      also vom prinzip her
      z.b
      for (var i ;i<5;i++){
      var x='feldname'+i;(dann müsste x ja gleich "feldname0" sein)
      var y=document.myFormA.x.value;(da x ja nu den feldnamen enthält musste ich die doch auch auslesen können)
      }
      sowas in der art nur in richtig bräucht  ich dann wohl

      achja myFormA ist der name meines formulars und glasgoogle kenn ich nicht allerdings kann ich www.glasgoogle.de auch ned aufrufen.

      mfg honk

      1. gut ich kann sie jetz schön verarbeiten mit js Aber wenn ich das formular abschicken will überschreiben sich die variablen gegenseitig sprich von sagen wir fünf feldern bekomme ich nur den wert des letzten feldes wenns denn einen hat.
        weil sie ja jetzt alle gleich heissen.
        wenn ich sie wieder umbennenen würde hab ich wieder das gleiche problem wie vorher.

        Das sollte eigentlich nicht so sein. Zumindest unter Perl bekommst du mit:

        my @anzahl = param('anzahl');

        das komplette Array der Felder und das sollte auch in PHP so gehen.

        achja myFormA ist der name meines formulars und glasgoogle kenn ich nicht allerdings kann ich www.glasgoogle.de auch ned aufrufen.

        <www.glasgoogle.de> funzt bei mir wunderbar