EKKi: veränderte Formulardaten zwischen Divs kopieren

Beitrag lesen

Mahlzeit j0Shi,

Kannst du mir denn evtl. wenigsten einen Ansatz geben, die Javascript-Funktion zu optimieren? Ich lese leider viel Kritik und wenige Vorschläge.

Tut mir leid - allerdings waren Deine bisherigen "Fehlerbeschreibungen" auch eher dürftig.

Finde ich schade, da du anscheinend ja Ahnung von der Materie hast, nur dass da was nicht stimmt wußte ich vorher ja auch ...

... allerdings hast Du es erst nach und nach (durch gezieltes Nachfragen) geschafft, das Problem einigermaßen verständlich zu beschreiben bzw. einzugrenzen.

Mmn ist das ganze ein internes JS-Problem, da es keine Möglichkeit gibt, direkte "values" bei Select-Feldern auszuwählen.

Wie kommst Du darauf? Auch select-Objekte haben eine Eigenschaft namens "http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#select@title=value" ...

Man muss immer über den Index gehen.

Das stimmt so nicht. Aber selbst wenn man lediglich mit selectedIndex arbeiten könnte, wäre der direkte Zugriff damit immer noch schneller als in einer Schleife durch alle Optionen zu gehen.

Und dann bleibt mir doch nichts, außer über eine Schleife (von mir aus auch mit getElementById, wobei das mMn egal ist, da er bei beiden Möglichkeiten nur ein Element findet) solange rumzususchen, bis er den passenden value gefunden hat.

Falsch.

Als Beispiel mal folgendes Stückchen Code:

for (i = 0; i < document.getElementsByName('drop_intern_xwars_settings_galasearch_uni')[0].options.length; i++) {

if (document.getElementsByName('drop_intern_xwars_settings_galasearch_uni')[0].options[i].value == val_arr[2]) document.getElementsByName('drop_intern_xwars_settings_galasearch_uni')[0].options[i].selected = true;
}

  
Besser wäre:  
  
`document.getElementsByName('drop_intern_xwars_settings_galasearch_uni')[0].value == val_arr[2];`{:.language-javascript}  
  
Außerdem ist es - wie gesagt - nicht sinnvoll, bei mehreren Zugriffen auf die gleiche <select>-Box das Objekt jedesmal wieder neu im DOM-Baum zu suchen. Für solche Fälle solltest Du es in einer lokalen Variablen speichern:  
  
`var sel = document.getElementsByName('drop_intern_xwars_settings_galasearch_uni')[0];`{:.language-javascript}  
  
  

> Das ganze ist sicherlich aufwendig (zumal einige select-felder bis zu 30 optionen haben), nur mir fällt zu der Problematik nichts besseres ein :(  
  
Dann hast Du Dich nicht ausreichend informiert.  
  
  
MfG,  
EKKi  

-- 
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|