Matze: DOM - getElementById()

Wieso funktioniert anweisung im switch-block nicht???

<form name="wallpaper">
<script type="text/javascript">
switch(screen.height) {
case 960: document.getElementById("res").selectedIndex = 3;
   break;
};
</script>
Wallpaper in
<select name="res" id="res">
<option value="800600">800x600</option>
<option value="1024768">1024x768</option>
<option value="1152864">1152x864</option>
<option value="1280960">1280x960</option>
<option value="12801024">1280x1024</option>
<option value="16001200">1600x1200</option>
</select>
 Pixeln
<input name="walldown" type="button" value="downloaden." />
</form>

schon mal danke.
Grüße...

  1. Hi,

    Wieso funktioniert anweisung im switch-block nicht???

    weil

    <form name="wallpaper">

    a) das zwingend benötigte action-Attribut fehlt,

    switch(screen.height) {

    b) das window.screen-Objekt nicht vorausgesetzt werden darf,

    case 960: document.getElementById("res").selectedIndex = 3;

    c) DOM-Fähigkeiten noch viel weniger als das window.screen-Objekt vorausgesetzt werden dürfen,

    d) das Element-Objekt vermutlich keine selectedIndex-Eigenschaft besitzt und

    e) "funktioniert nicht" keine Fehlerbeschreibung ist.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Wieso funktioniert anweisung im switch-block nicht???

    Was funktioniert nicht?
    was hast du getan um deine Werte zu prüfen?
    Was für einen Fehlermeldung  erhälst du? (http://glasgoogle.de

    switch(screen.height) {
    case 960: document.getElementById("res").selectedIndex = 3;
       break;
    };

    switch ist einer der langsamsten Befehle und sollte eher vermieden werden, meine Ergfahrung ist, das vor allem VB Programmierer mit switch arbeiten, was mich aber wiederrum nicht wundert, da VB Programme immer durch ihre Langsamkeit auffallen.

    Darüber hinaus fehlt bei dir völlig eine überprüfung was du machst und ob das klappt.

    var form_element = document.forms[xx].elements['res'];

    if(!form_element) return false;

    var check_screen = screen ? (screen.height == 960) : null;

    if(check_screen == null) return false;

    if(check_screen) form_element.selectedIndex = 3;

    Falls du das für mehrere Wert vor hast bietet sich ein assoziatives Array an:

    var Index = new Array();
    Index['screen' + 960] = 3;
    Index['screen' + XXX] = x;

    var check_screen = screen ? screen.height : null;

    if(!check_screen) return false;
    if(Index['screen' + check_screen])
    form_element.selectedIndex = Index['screen' + check_screen];
    else return false;

    Damit sparst du dir die switch case Würmer die du vor hast zu programmieren.

    Struppi.

  3. Hi,

    <form name="wallpaper">
    <script type="text/javascript">

    jetzt wird das Script gestartet.

    switch(screen.height) {
    case 960: document.getElementById("res").selectedIndex = 3;

    Hier wird auf das Element mit der id "res" zugegriffen.

    break;
    };
    </script>

    Das Element mit der id "res" ist aber erst jetzt bekannt:

    <select name="res" id="res">

    Die anderen Fehler wurden ja schon erwähnt...

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/