HTML Arrays

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

  • HTML Arrays

    hallo,
    und wieder einmal bin ich auf eure Hilfe angewiesen. Ich habe ein Formular erstellt in dem ich eine Reihe von Textfeldern habe. Da ich voher nicht weiss wie viele es werden und ich alles in eine datenbank schreiben will musste ich mir für die Namen was einfallen lassen. Mein erster Versuch war einfach einen Zähler mit an den namen dranzuhängen aber dann ist ein Problem aufgetaucht beim verwenden der Variablen. Es ist mir nicht gelungen zum Auslesen den Variablennamen dynamisch in einer Schleife zusammen zusetzen. Wenn jemand weiss wie das geht wäre es schon mal ein Lösungsansatz aber mir ist nicht klar wie ich im Skript einen String zusammen setzte und das ganze dann als Variable verwenden kann.
    Mein zweiter Versuch war das ich die einzelnen Element im HTML Code schon als Array bezeichnet habe:
    <input type="text" name="temp[]" value="">
    hierbei ist das einzige Problem das ich mit JvaSkript nicht mehr auf die Element zugreifen kann. Wie geht das oder geht das nicht?

    Bin dankbar über jeden Rat weil ich sonst das ganze Skript neu schreiben kann und das viel Zeit in Anspruch nimmt.
    Realismus hilft beim Träumen nicht weiter!!!

  • #2
    guckst du hier:
    http://www.php-resource.de/forum/sho...threadid=15502
    Kissolino.com

    Kommentar


    • #3
      sorry aber damit bin ich nicht viel weiter gekommen.
      irgendwas stimmt mit meinem code nicht und da ich die syntax von javascript sowieso noch nicht behersche komm ich mit den codefetzen nicht so wirklich zurecht.

      Skript:

      while($artikel=mysql_fetch_row($erg_artikel))
      {
      echo "<tr>";
      echo "<td>";
      echo "<input type='text' name='pos[]' value='$artikel[2]' ></td>";
      }

      Jetzt habe ich ein weiteres Textfeld:

      <input type="text" name="einzel[]" size="10" maxlength="20" onBlur="rechne()">

      Und die Funktion:

      function rechne()
      {
      alert(document.form1.pos[1].value);
      }

      Die Syntax in der Funktion ist falsch aber ich weiss einfach nicht weiter.
      Eigentlich will ich nur den Wert aus pos[] auslesen und damit weiter rechnen.
      Realismus hilft beim Träumen nicht weiter!!!

      Kommentar


      • #4
        also das tuts:

        Code:
        <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
        <html>
        <head>
               <title>Title here!</title>
        </head>
        <body>
        
        <?
        echo "<form name=\"test\"><input type='text' name='pos[0]' value='artikel[0]'>";
        echo "<input type='text' name='pos[1]' value='artikel[1]' >";
        echo "<input type='text' name='pos[2]' value='artikel[2]' ></form>";
        
        echo "<script type=\"text/javascript\">
        alert(document.test.elements['pos[2]'].value);
        </script>";
        ?>
        
        </body>
        </html>
        Kissolino.com

        Kommentar


        • #5
          Danke.
          Es funktioniert zwar aber ich muss trotzdem nochmal nachfragen.
          Hier in dem Fall muss ich Zahlen in die Klammern schreiben sonst funktioniert es nicht.
          echo "<input type='text' name='pos[1]' value='artikel[1]' >";

          Gibt es keine Möglichkeit ohne:
          echo "<input type='text' name='pos[]' value='artikel[1]' >";
          Realismus hilft beim Träumen nicht weiter!!!

          Kommentar


          • #6
            ich geh mal davon aus, dass js ohne eindeutige bezeichnung des
            feldnamens, das ganze nicht abrufen kann ... also beim erzeugen der
            input-felder einen zähler mitlaufen lassen und die dinger nummerieren.

            wenn du das formular per php auswertest, solltest du mit

            print_r($_POST['pos']);

            auch sehen, was wie drin steht.
            Kissolino.com

            Kommentar

            Lädt...
            X