phoenixneo
Grünschnabel
Hi allerseits!
Ich habe vor kurzem einen Auftrag von meinem Chef gefasst. Das Ziel ist ein Formular zu erstellen.
Grundsätzlich stellt das kein Problem für mich dar, da ich mit PHP recht gut umgehen kann.
Das Problem liegt nun darin, dass ich ein spezielles Feature in dieses Formular einbauen soll. Dies ist nur mit JavaScript möglich und genau da bin ich absolut nicht versiert!
Ich habe auch nicht gewusst wie ein solches Feature heisst oder nach was ich da suchen muss. Am besten kopiert ihr den Code in eine HTML Datei und seht selbst.
Die 4 Buttons funktionieren bereits. Diese habe ich irgendwie aus dem Netz zusammenkopiert. Wenn ihr also eine andere Lösung seht bin ist sehr offen.
Nun zu den Problemen:
1. Da mehrere Options ausgewählt werden können, muss der "name" der Select ja ein [] am Ende des Namens haben, damit die Daten im Array verwendet werden können.
Sobald ich jedoch diese Zeichen beim Name einfüge, also das es vorhandene[] heisst und ich das oben im JavaScript anpasse funktioniert gar nix mehr :-(
2. Wenn diese Buttons betätigt werden, sollte sich die Option am alphabetisch richtigen Ort auf der anderen Seite eingliedern (dies gilt auch für Options mit Zahlen).
Ich weiss nicht ob das überhaupt möglich ist...?
Hier ist der Code
Helft mir bitteeeeeeee
LG Tanja
Ich habe vor kurzem einen Auftrag von meinem Chef gefasst. Das Ziel ist ein Formular zu erstellen.
Grundsätzlich stellt das kein Problem für mich dar, da ich mit PHP recht gut umgehen kann.
Das Problem liegt nun darin, dass ich ein spezielles Feature in dieses Formular einbauen soll. Dies ist nur mit JavaScript möglich und genau da bin ich absolut nicht versiert!
Ich habe auch nicht gewusst wie ein solches Feature heisst oder nach was ich da suchen muss. Am besten kopiert ihr den Code in eine HTML Datei und seht selbst.
Die 4 Buttons funktionieren bereits. Diese habe ich irgendwie aus dem Netz zusammenkopiert. Wenn ihr also eine andere Lösung seht bin ist sehr offen.
Nun zu den Problemen:
1. Da mehrere Options ausgewählt werden können, muss der "name" der Select ja ein [] am Ende des Namens haben, damit die Daten im Array verwendet werden können.
Sobald ich jedoch diese Zeichen beim Name einfüge, also das es vorhandene[] heisst und ich das oben im JavaScript anpasse funktioniert gar nix mehr :-(
2. Wenn diese Buttons betätigt werden, sollte sich die Option am alphabetisch richtigen Ort auf der anderen Seite eingliedern (dies gilt auch für Options mit Zahlen).
Ich weiss nicht ob das überhaupt möglich ist...?
Hier ist der Code
HTML:
<html>
<head>
<title>Aus- und Abwählen</title>
<script language="JavaScript" type="text/javascript">
<!--
var count1 = 0;
var count2 = 0;
function right(form, selectbox){
var result = "";
for (var i = 0; i < form.vorhandene.length; i++) {
if (form.vorhandene.options[i].selected) {
var elOptNew = document.createElement('option');
elOptNew.text = form.vorhandene.options[i].text;
elOptNew.value = form.vorhandene.options[i].text;
var elSel = document.getElementById('selectX2');
try {
elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
}
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
if(selectbox.options[i].selected)
selectbox.remove(i);
}
}
function allright(form, selectbox){
var result = "";
for (var i = 0; i < form.vorhandene.length; i++) {
var elOptNew = document.createElement('option');
elOptNew.text = form.vorhandene.options[i].text;
elOptNew.value = form.vorhandene.options[i].text;
var elSel = document.getElementById('selectX2');
try {
elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
selectbox.remove(i);
}
}
function allleft(form, selectbox){
var result = "";
for (var i = 0; i < form.selektierte.length; i++) {
var elOptNew = document.createElement('option');
elOptNew.text = form.selektierte.options[i].text;
elOptNew.value = form.selektierte.options[i].text;
var elSel = document.getElementById('selectX');
try {
elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
selectbox.remove(i);
}
}
function left(form, selectbox) {
var result = "";
for (var i = 0; i < form.selektierte.length; i++) {
if (form.selektierte.options[i].selected) {
var elOptNew = document.createElement('option');
elOptNew.text = form.selektierte.options[i].text;
elOptNew.value = form.selektierte.options[i].text;
var elSel = document.getElementById('selectX');
try {
elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
}
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
if(selectbox.options[i].selected)
selectbox.remove(i);
}
}
//-->
</script>
</head>
<body>
<form action="#" method="post">
<table>
<tr><th>Vorhandene</<th><th>Optionen</th><th>Ausgewählte</th></tr>
<tr><td>
<select id="selectX" name="vorhandene" style="width:150px" size="8" multiple="multiple">
<option selected="selected" value="user1">Apfel</option>
<option value="Baum">Baum</option>
<option value="Fahrrad">Fahrrad</option>
<option value="Fahrrad3">Fahrrad3</option>
<option value="Himmel">Himmel</option>
<option value="Nase">Nase</option>
<option value="Party">Party</option>
<option value="Sommer">Sommer</option>
<option value="Tanja">Tanja</option>
</select>
</td><td>
<input type="button" onclick="right(this.form, selectX)" style="height: 25px; width: 100px" name="rechts" value=">"><br />
<input type="button" onclick="allright(this.form, selectX)" style="height: 25px; width: 100px" name="alle_rechts" value=">>"><br />
<br />
<input type="button" onclick="allleft(this.form, selectX2)" style="height: 25px; width: 100px" name="alle_links" value="<<"><br />
<input type="button" onclick="left(this.form, selectX2)" style="height: 25px; width: 100px" name="links" value="<" /><br />
</td><td>
<select id="selectX2" name="selektierte" style="width:150px" size="8" multiple="multiple">
<option selected="selected" value="user4">Auto</option>
<option value="Fahrrad2">Fahrrad2</option>
<option value="Hase">Hase</option>
<option value="Hamster">Hamster</option>
</select>
</td></tr>
</table>
<br />
<input type="submit" name="speichern" value=" Speichern ">
</form>
</body>
</html>
Helft mir bitteeeeeeee
LG Tanja
Zuletzt bearbeitet: