Ich hole mir über odbc E-Mail Adressen, diese sollen dann in einem Formular mit zwei Auswahllisten verarbeitet werden. In der linken Auswahlliste stehen am Anfang alle E-Mail Adressen, bei Klick auf eine Adresse wird diese mittels JavaScript in die rechte Auswahlliste eingefügt und aus der linken rausgelöscht, das gleiche funktioniert auch umgekehrt. Da ich alle Adressen aus der rechten Auswahlliste mit dem Formular übertragen möchte, will ich nun jedesmal wenn die etwas in die rechte Auswahlliste kommt, dass dieser Eintrag in das hidden-Field geschrieben wird und umgekehrt dann auch wieder gelöscht wird.
Hier nun der JavaScript Code:
function zur_rechten_Auswahlliste(index, value)
{
var new_option = new Option(value, value, false, false);
document.formsenden.rechts.options[document.formsenden.rechts.length] = new_option;
document.formsenden.links.options[index]=null;
document.formsenden.emails[document.formsenden.emails.length] = value;
}
function zur_linken_Auswahlliste(index, value)
{
var new_option = new Option(value, value, false, false);
document.formsenden.links.options[document.formsenden.links.length] = new_option;
document.formsenden.rechts.options[index]=null;
document.formsenden.emails[index]=null;
}
Beide Funktionen werden in der jeweiligen Auswahlliste mittels onchange aufgerufen, index und value entsprechen der E-Mail Adresse auf die geklickt wurde.
Das seltsame ist, wenn ich nun den Wert in das hidden-Feld emails schreibe und danach zum Test mittels
alert(document.formsenden.emails[document.formsenden.emails.length]);
ausgebe steht der richtige Wert drinnen, aber wenn ich nun
alert(document.formsenden.emails[0]);
schreibe steht "undefined"
Ich hoffe ihr könnt mir helfen oder vielleicht eine andere Möglichkeit nennen, mit der ich eine gesamte Auswahlliste übertragen kann.