Array von JS an PHP übergeben

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

  • Array von JS an PHP übergeben

    Hi Leute,

    ich habe ein Formular das Checkboxen enthällt, die aktiven Werte sind IDs von Usern, der Name der Checkbox ist demnach ein Array, nenen wir es einfach user[].
    Übergebe ich nun die Werte per Formular-Absenden an eine PHP-Datei ist das kein Problem: ich habe ein Array user[] mit allen IDs, die ich aktiviert habe.
    Nun soll das Formular aber nicht per Submit abgesendet werden, sonder per JS in einem Link übergeben werden.
    Ich habe also eine JavaScript Funktion, die bei onClick aufgerufen wird:

    function send_data(){
    self.location.href="seite.php4?user_ids=" + document.form.user???;
    }

    Was muß denn da bei den Fragezeichen hin?
    Ein einzelnes Feld ist kein Problem (user.value), aber wie sieht das mit einem Array aus? Habe schon user[].value, user.[] etc. probiert, aber ich bekomme immer eine Fehlermeldung (fehlendes Objekt etc.)
    Wie übergebe ich denn nun ein Array? Geht das überhaut so?

    Ich weis, sollte eigentlich eher im JS-Forum stehen, aber vielleicht hat ja der Ein oder Andere auch mal selbes Problem Arrays von JS an PHP zu übergeben


    Grüße & wie immer Dank,
    Andi

  • #2
    - du musst erst per js die werte aus deinen checkboxen auslesen
    - bau sie zu einem string zusammen => wert1|wert2|wert.....
    - übergib den string per GET
    - explode in php
    Kissolino.com

    Kommentar


    • #3
      Das wäre Plan B gewesen. Meine aber mal irgenwo gelesen zu haben, dass man auch direkt Arrays übergeben kann. Aber vielleicht täusche ich mich da auch.

      Gibt es eigentlich eine Längenbeschränkung bei der URL? Wenn man jetzt 100 User mit je dreistelliger ID anklickt, hätte ich ja 400 Zeichen (inkl. Trenner). Nicht dass dann irgendwo abgeschnitten wird.

      Grüße, Andi

      Kommentar


      • #4
        Original geschrieben von andik2000
        Gibt es eigentlich eine Längenbeschränkung bei der URL? Wenn man jetzt 100 User mit je dreistelliger ID anklickt, hätte ich ja 400 Zeichen (inkl. Trenner). Nicht dass dann irgendwo abgeschnitten wird.
        nö, 399 (wenn du es richtig machst ) + "var="

        GET hat ne zeichenbschränkung ... allerdings weiss ich nicht wieviel,
        wurde hier aber auch schonmal dsikutiert.
        Kissolino.com

        Kommentar


        • #5
          OK, jetzt die nächste Frage (die definitiv JS betrifft):

          Wie packe ich denn das Array in die Schleife, dass es mir daraus einen String macht?
          Da stehe ich wieder vor selbem Problem, dass ich nicht weis, wie ich das Feld auslesen soll.
          Momentan siehts so aus:

          for(i=0; i<count(document.form1.user[]); i++){
          ids = document.form1.user[i].value+",";
          }
          ... aber läuft nicht

          Kommentar


          • #6
            kann nicht laufen, wenn du wild php mit js mischst.
            Code:
            <script language ="JavaScript">
             <!--
             function check_box() 
             {
              var i;
              for (i = 0; i < 5; i++)
              {
                  if (document.forms[0].elements["anf[]"][i].checked)
                  {
                   alert("juhu");
                  }
              }
            }
             // --->
            </script>
            der schnipsel ist aus nem anderen posting ... sollte dich weiterbringen ... die anzahl der array-elemente prüfst du bei js mit "length".

            schau mal bei selfhtml vorbei.
            Kissolino.com

            Kommentar


            • #7
              Habs jetzt doch über Submit gelöst

              Scheiß JS

              Kommentar


              • #8
                Original geschrieben von andik2000
                Scheiß JS
                ansichtssache

                allerdings ist POST sicherer
                Kissolino.com

                Kommentar

                Lädt...
                X