Gandalfthegrey: Bildwechsel

Hallo,
Ich habe mir folgendes Script geschrieben, welches anhand einer übermittelten iD ein Bild auswählen soll, welches ausserdem durch ein Dropdown-Feld geändert werden kann:

function changeimage()  
      {  
        if(document.spritecn.bild.value == 'sprites' && document.spritecn.status.value == 'normal') { document.spriteimg.src='/images/sprites/'+pkid; }  
        if(document.spritecn.bild.value == 'bild' && document.spritecn.status.value == 'bs') { document.spriteimg.src='/images/dp/'+pkid; }  
        if(document.spritecn.bild.value == 'back' && document.spritecn.status.value == 'normal') { document.spriteimg.src='/images/b-dp/'+pkid; }  
        if(document.spritecn.bild.value == 'back' && document.spritecn.status.value == 'bs') { document.spriteimg.src='/images/bs-dp/'+pkid; }  
      }

Wenn die übermittelte iD 63 ist, gibt es dem Besucher nachdem er aus dem Feld ein Bild ausgewählt hat, jenes mit der iD 51 aus. Woran kann das liegen?

mfg

  1. Wenn die übermittelte iD 63 ist, gibt es dem Besucher nachdem er aus dem Feld ein Bild ausgewählt hat, jenes mit der iD 51 aus. Woran kann das liegen?

    sehr wahrscheinlich daran, dass du eine globale Variable pkid verwendest, mit allen Überraschungen, die das gibt.
    Übergebe die Variable in der Funktion

    function somefunc( pkid ){
       //...
    }

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  2. Hi,

    Ich habe mir folgendes Script geschrieben, welches anhand einer übermittelten iD ...

    dass du diese ID besser als Funktionsparameter übergeben solltest, wurde ja schon gesagt.

    Wenn die übermittelte iD 63 ist, gibt es dem Besucher nachdem er aus dem Feld ein Bild ausgewählt hat, jenes mit der iD 51 aus. Woran kann das liegen?

    <mode type="guess">Hast du den Zahlenwert mit führenden Nullen notiert, etwa 0063 oder 063? Zahlen mit führenden Nullen werden als Oktalzahl interpretiert, und 6*8+3 ist "zufällig" genau 51. Voilà!</mode>

    Ciao,
     Martin

    --
    Zwei Politiker auf dem Weg zum Sitzungssaal: "Was sagten Sie in ihrer Rede neulich noch zur Rentenreform?" - "Nichts." - "Ja, schon klar. Aber wie haben Sie es formuliert?"
    1. <mode type="guess">Hast du den Zahlenwert mit führenden Nullen notiert, etwa 0063 oder 063? Zahlen mit führenden Nullen werden als Oktalzahl interpretiert, und 6*8+3 ist "zufällig" genau 51. Voilà!</mode>

      Ciao,
      Martin

      Die Bilder unter 100 sind aber mit einer führenden Null versehen. Wie ist es sonst möglich?

      1. Hallo,

        <mode type="guess">Hast du den Zahlenwert mit führenden Nullen notiert, etwa 0063 oder 063? Zahlen mit führenden Nullen werden als Oktalzahl interpretiert, und 6*8+3 ist "zufällig" genau 51. Voilà!</mode>
        Die Bilder unter 100 sind aber mit einer führenden Null versehen. Wie ist es sonst möglich?

        Vermutlich brauchst du doch den numerischen Wert gar nicht. Also notiere sie konsequent als Strings, dann sind auch führende Nullen egal.
        Oder notiere sie als Zahl ohne führende Nullen und fülle die fehlenden Stellen erst auf, wenn du die Bild-URL "zusammenbaust".

        So long,
         Martin

        --
        Time's an illusion. Lunchtime doubly so.
          (Douglas Adams, "The Hitchhiker's Guide To The Galaxy")
      2. Mahlzeit Gandalfthegrey,

        Die Bilder unter 100 sind aber mit einer führenden Null versehen. Wie ist es sonst möglich?

        http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=parseInt() kennt noch einen zweiten Parameter ... (Beachten Sie "Beachten Sie:"!)

        MfG,
        EKKi

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