Hallo!
Ich sitze hier an einem Problem, dass allmählich Zeitkritisch wird :(
Ich habe eine Anwendung, die unter firefox problemlos läuft, unter IE6 allerdings Probleme bereitet.
Es ist ein Formular zur Verwaltung von Personen, die Beschreibung der Tätigkeit kann mehrere Werte enthalten und wird mittels einem Select-dropdown dargestellt.
Zu jeder Person gibt es ein Eingabefeld, mit dem Neue Werte zum Select hinzugefügt werden können, ausserdem existiert ein Button, mit dem Werte aus dem Select gelöscht werden können.
Die Anzahl an Personen und die Anzahl an Tätigkeiten ist dynamisch, dieser Codeteil funktioniert auch Problemlos.
Das Problem kommt beim Absenden des Formulares auf.
Ich habe einen <input type="button"> definiert, der die JS-Funktion "sendForm()" aufruft.
In dieser Funktion sollen nun alle Selectboxen auf "multiselect" gesetzt werden, danach müssen in allen Selectboxen alle Werte markiert werden und abschliessend das Formular gesendet werden.
Leider meckert mein IE (Firefox machts anstandslos) beim klicke auf den Button, dass "das Objekt die Eigenschaft nicht unterstützt".
Ich weis leider nicht mehr weiter, da in SelfHTML beschrieben wird, dass IE 5x die Eigenschaft hat und einiges testen/Probieren nicht zum Erfolg geführt hat.
Leider müssen alle Werte selektiert werden, da die Anwendung dies so erwartet und ein umprogrammieren sehr viel Arbeit machen würde.
Hier noch der Code des Sendenbuttons:
----------- SNIP -----------
/**
* Alle Elemente des Formulars durchgehen, Selectfelder
* multivalued setzen und alle werte aller Selects markieren
**/
function sendForm(){
for(var thiselement in document.forms[0]){
if(document.forms[0].elements[thiselement]){
document.forms[0].elements[thiselement].multiple = "select-multiple";
for(var thisoption in document.forms[0].elements[thiselement].options){
if(document.forms[0].elements[thiselement].options[thisoption]){
document.forms[0].elements[thiselement].options[thisoption].selected = true;
}
}
}
}
document.forms[0].submit();
}
----------- SNIP -----------
Vielen Dank für eure Hilfe!
Beni