listboxen komplett auswerten

Grimreaper

Erfahrenes Mitglied
Ich habe zwei Listboxen, die eine enthält schon Daten, die andere is anfangs leer. Mit Hilfe von JavaScript kann der User nun Daten aus der ersten Listbox in die zweite einfügen. Wenn ich die Form jetzt abschicke, möchte ich alle Daten in der zweiten Listbox bekommen, nicht nur angewählte. Wie ist das möglich? Benutze ich dafür vielleicht das falsche Steuerelement?

mfg Grimreaper
 
*lol*

Das ist der Code der site. Ich denke mal die JS-Funktion interessiert nicht so brennend, die macht ja Ihre Arbeit
Code:
<select name="read_all" size="5" onDBLclick="addOptions('read', document.f_editproj.read_all.options[document.f_editproj.read_all.selectedIndex].text);">
              <optgroup label="groups">
              <?php
                  $sql_query = "SELECT name FROM groups";
                  if ($retval = mysql_query($sql_query)) {
                      while($row = mysql_fetch_array($retval)) {
                          echo "<option value='".$row["name"]."'>".$row["name"]."</option>";
                      }
                  }
              ?>
              </optgroup>
              <optgroup label="users">
              <?php
                  $sql_query = "SELECT name FROM users";
                  if ($retval = mysql_query($sql_query)) {
                      while($row = mysql_fetch_array($retval)) {
                          echo "<option value='".$row["name"]."'>".$row["name"]."</option>";
                      }
                  }
              ?>
              </optgroup>
              </select>
              <select name="read_allow[]" size="5" onDBLclick="delOptions('read', document.f_editproj.read_allow.options[document.f_editproj.read_allow.selectedIndex].text);">
              <option value=" " selected="selected">Select entries from the list at left </option>
              </select><br />&nbsp;<br />

Nun würde ich in der php-Datei mit $read_allow = $_POST["read_allow"] die Einträge in dieser Listox auslesen wollen, was mir selbst mit multi-select nur die ausgewählten, aber nicht alle vorhandenen Einträge übergibt.

mfg Grimreaper
 
Naja, im Endeffekt übermittelt der Browser die nicht-selektierten Listeneinträge auch nicht an das PHP-Script. Also könnte man JavaScript-Seitig alle Einträge der zweiten Listbox selektieren, bevor das Formular abgesendet wird.

Ansonsten könnte man auch (wieder über JavaScript) beim Hinzufügen eines Eintrages in die zweite Listbox die ID einem Hidden-Field anfügen und durch ein Trennzeichen voneinander trennen. Im PHP-Script müsste man dann nur noch die IDs wieder voneinander trennen.

snuu
 
snuu hat gesagt.:
Naja, im Endeffekt übermittelt der Browser die nicht-selektierten Listeneinträge auch nicht an das PHP-Script. Also könnte man JavaScript-Seitig alle Einträge der zweiten Listbox selektieren, bevor das Formular abgesendet wird.
snuu
Das war mir schon bewusst, deshalb auch die Frage, ob ein Listbox das falsche Steuerelement ist.
Bin in Js nicht ganz so bewandert, gib mir bitte mal ne Hilfestellung wie ich onSubmit dann alle einträge selektiere (mit einer for schleife alle listbox[ i ].selected = true? Woher bekomme ich dann die maximale Anzahl der Elemente?).
Danke schonmal.

mfg Grimreaper
 
Zurück