Alle Inhalte einer Auswahlliste auslesen und an PHP übergeben
Robby
- javascript
Hallo Zusammen!
Ich versuche gerade auf meiner privaten Community-Seite ein internes Nachrichtensystem nachzubauen. Im Grunde soll es so aussehen wie das von den Lokalisten. Es gibt zwei Auswahllisten, eine mit den Nachrichtenempfängern und eine mit den Communitiy-Mitgliedern. Per Klick in die Auswahllisten kann man die Mitglieder hin und her schieben. Bis jetzt also nicht wirklich spektakulär. Nun möchte ich natürlich die komplette Auswahlliste nach Klick auf den 'Abschicken'-Knopf mit den Empfängern auslesen und als Array an PHP übergeben, um dort die DB-Einträge vorzunehmen. Wie mache ich das?
Hier mal mein Codeausschnitt:
<html>
<script language="JavaScript" type="text/javascript">
function addElement() {
element = new Option(document.Formular.Elements.value, document.Formular.Elements.value, false, true);
document.Formular.Elements2.options[document.Formular.Elements2.options.length] = element;
if(document.Formular.Elements.selectedIndex != -1)
{
document.Formular.Elements.options[document.Formular.Elements.selectedIndex] = null;
}
document.Formular.Elements2.selectedIndex = -1;
document.Formular.newElement.focus();
}
function addElementBack() {
element2 = new Option(document.Formular.Elements2.value, document.Formular.Elements2.value, false, true);
document.Formular.Elements.options[document.Formular.Elements.options.length] = element2;
if(document.Formular.Elements2.selectedIndex != -1)
{
document.Formular.Elements2.options[document.Formular.Elements2.selectedIndex] = null;
}
document.Formular.Elements.selectedIndex = -1;
document.Formular.newElement.focus();
}
</script>
<body>
<form name="Formular" method="post" action="#">
Memberliste:<br>
<select name="Elements" size="8" style="width:150px;" onClick="addElement();">
<option value="Element 1">Element 1</option>
<option value="Element 2">Element 2</option>
<option value="Element 3">Element 3</option>
<option value="Element 4">Element 4</option>
<option value="Element 5">Element 5</option>
</select><br><br>
Empfängerliste:<br>
<select name="Elements2" style="width:150px;" size="8" onClick="addElementBack();">
</select><br><br>
<input type="text" name="newElement" value="diese box erhät nur den focus">
<br><br>
<input type="submit" name="Abschicken" value="Abschicken">
</form>
</body>
</html>
Danke & Gruss
Robert
Mahlzeit Robby,
Nun möchte ich natürlich die komplette Auswahlliste nach Klick auf den 'Abschicken'-Knopf mit den Empfängern auslesen und als Array an PHP übergeben, um dort die DB-Einträge vorzunehmen. Wie mache ich das?
Die <option>en einer <select>-Box, die beim Absenden des Formulars übergeben werden sollen, müssen http://de.selfhtml.org/javascript/objekte/options.htm#selected@title=selected sein. Das kannst Du z.B. http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit@title=onsubmit mit allen in einer <select>-Box vorhandenen <option>en machen ...
MfG,
EKKi
Hallo EKKi,
vielen Dank für die Antwort. Das funktioniert auch wunderbar. Dummerweise muss ich meine Auswahlliste natürlich auch als Array angeben um es in PHP auslesen zu können, also:
<select name="Elements2[]"></select>
Dadurch funktioniert jetzt aber mein JavaScript nicht mehr!
Gruss
Robby
Mahlzeit Robby,
vielen Dank für die Antwort. Das funktioniert auch wunderbar. Dummerweise muss ich meine Auswahlliste natürlich auch als Array angeben um es in PHP auslesen zu können, also:
<select name="Elements2[]"></select>
Das ist ein bekanntest Problem mit PHP, das ist richtig. Vielleicht wird es ja irgendwann mal gelöst ...
Dadurch funktioniert jetzt aber mein JavaScript nicht mehr!
Weil Du auf sehr "ungünstige" Weise auf die Formularobjekte zugreifst. Ich würde Dir <http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Schema 4> empfehlen.
MfG,
EKKi
Servus EKKi,
vielen Dank für die kompetente und schnelle Hilfe. Funktioniert einwandfrei :-)
Gruss
Robby