• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

onsubmit alle options selektieren

Status
Für weitere Antworten geschlossen.

skizZ

Mitglied
Hallo zusammen,

sitze gerade an folgendem Problem:

Ich habe eine Auswahlliste, die der User selbst füllen kann.
Dies funktioniert auch.

Nun soll die komplette Liste per Formular übergeben werden.
-> Die verschiedenen Options müssen vor dem absenden selektiert werden.

Aber wie realisiere ich das?

Habs ma so versucht
Code:
function selectAll(){
        var ziel = document.forms[0].pizzaauswahl;
        for (var i=0; i<ziel.options.length; i++) {
        alert(i);
    ziel.options[i].selected = true;
  }

    }
Damit wird allerdings nur das letzte Element übergeben :-(


Ok, es wird alles markiert ... multiple="true" ist da angebracht.

Allerdings wird weiterhin nur das letzte Element übergeben.
 
Zuletzt bearbeitet:
Ok, und wie setzt ich dann folgende dinge um?

Code:
function addPizza(pizza)
      {
          var ziel = document.forms[0].pizzaauswahl;
          var option = document.createElement("OPTION");
          var Text = document.createTextNode(pizza);
          option.appendChild(Text);
          option.value=pizza;
          ziel.appendChild(option);
      }

      function deletePizza ()
      {
          document.forms[0].pizzaauswahl.options[document.forms[0].pizzaauswahl.selectedIndex] = null;
    }

Die funktionieren dann nicht mehr auch wenn ich den Namen anpasst.
 
getElementsByName("pizzaauswahl[]") oder einfach nicht mehr auf name="" verlassen und dem Element eine ID geben.
 
Es geht darum, dass nur ein Wert ankommt. Und das liegt am Parsen auf der Server-seite. Das Script ist ansonsten ok.

skizZ: statt document.forms[0].pizzaauswahl document.getElementsByName("pizzaauwahl[]")[0]
 
Es geht darum, dass nur ein Wert ankommt. Und das liegt am Parsen auf der Server-seite.
Genau, und das macht meines Wissen nur PHP so komisch mit den eckigen Klammern im Namen. Bei anderen Sprachen sind diese nicht nötig.

Ich bevorzuge die bewährte Schreibweise über document.forms.elements
 
name="" für <form> ist nur nicht mehr erlaubt und name="" ist uneindeutig, weshalb die Verwendung nicht mehr zeitgemäß ist. Man arbeitet stattdessen mit id="" oder class="".
 
Wieso ist name nicht mehr erlaubt für Formulare? und name halte ich für sehr eindeutig, du brauchst die ja auch auf dem Server zum auswerten
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben