Avatar billede assamite Nybegynder
26. juni 2001 - 15:17 Der er 4 kommentarer og
1 løsning

flere \"IF\" og en \"ELSE\" - men else virker vist ikke... ?

Hej, jeg har et Java script i en .asp side som ser sådan ud:

  <script language=\"JavaScript\" type=\"text/javascript\">
    var iBtnIdx = 4
    imgFoto = new Image(225, 225);
    imgTegning = new Image(225, 225);
    imgMaal = new Image(225, 225);
    imgVisFoto = new Image(57, 57);
    imgVisTegning = new Image(57, 57);
   
    var bShowDefault1 = (\"<%=rsProdukt(\"LK_Vis_1\")%>\" == \"False\") ? 1 : 0;
    var bShowDefault2 = (\"<%=rsProdukt(\"LK_Vis_2\")%>\" == \"False\") ? 1 : 0;
    var bShowDefault3 = (\"<%=rsProdukt(\"LK_Vis_3\")%>\" == \"False\") ? 1 : 0;
    var bShowDefault4 = (\"<%=rsProdukt(\"LK_Vis_4\")%>\" == \"False\") ? 1 : 0;
    var bShowDefault5 = (\"<%=rsProdukt(\"LK_Vis_5\")%>\" == \"False\") ? 1 : 0;
    var bShowDefault6 = (\"<%=rsProdukt(\"LK_Vis_6\")%>\" == \"False\") ? 1 : 0;
   
    if (!bShowDefault1)
    {
      imgFoto.src =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_1.jpg\"%>\";
    }

    if (!bShowDefault2)
    {
      strStorFotoPath = \"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_2.jpg\"%>\";
    }
   
    if (!bShowDefault3)
    {
      imgTegning.src =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_3.gif\"%>\";
      imgMaal.src =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_3.jpg\"%>\";
    }
   
    if (!bShowDefault4)
    {
      strStorTegningPath =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_4.gif\"%>\";
    }
   
    if (!bShowDefault5)
    {
      strStorMaalPath =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_5.gif\"%>\";
    }
   
    if (!bShowDefault6)
    {
      img3DPath =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_6.dxf\"%>\";
    }

    else
    {
      imgFoto.src = \"<%= \"/images/products/Default_1.jpg\"%>\";
      imgTegning.src = \"<%= \"/images/products/Default_3.gif\"%>\";
      imgMaal.src = \"<%= \"/images/products/Default_3.jpg\"%>\";
      img3DPath = \"<%= \"/images/products/Default_6.dxf\"%>\";
     
      strStorFotoPath = \"<%= \"/images/products/Default_2.jpg\"%>\";
      strStorTegningPath =\"<%= \"/images/products/Default_4.gif\"%>\";
      strStorMaalPath =\"<%= \"/images/products/Default_5.gif\"%>\";
    }
   
    imgVisTegning.src =\"/images/Knap u maal.gif\";
    imgVisFoto.src =\"/images/Knap 3D foto.gif\";
    strLinkTo = strStorFotoPath;
   
    function initPics()
    {
      document.mainImage.src = imgFoto.src;
    }
   
    var bVisFoto = false;
   
    function changeImage()
    {
      var elm = event.srcElement;
      switch (elm.name)
      {
        case \"btnVolo\":
          parent.Global.displayVoloWnd(img3DPath);
          break;
        case \"btnFoto\":
          document.mainImage.src = (bVisFoto) ? imgFoto.src      : imgTegning.src;
          strLinkTo              = (bVisFoto) ? strStorFotoPath  : strStorTegningPath;
          document.btnFoto.src  = (bVisFoto) ? imgVisTegning.src : imgVisFoto.src;
          bVisFoto = !bVisFoto;
          break;
        case \"btnMaal\":
          parent.Global.displayLarge(strStorMaalPath);
          break;
      }
    }
  </script>

Problemet er at: hvis et bestemt _billede ikke er sat til at eksistere så skal det ikke vises... der skal vises et default _billede i stedet. Men det er som om den udfører alle if sætningerne og ignorere else sætningen. hvis et billede findes skal den jo vise det og vise et default for dem som ikke findes (/me tænker om jeg lige gentog /me selv)

Hvad gør jeg forkert?
Avatar billede erikjacobsen Ekspert
26. juni 2001 - 15:19 #1
Du skal da vist

if () {
...
} else if () {
...
} else if () {
...
} else {
...
}
Avatar billede assamite Nybegynder
26. juni 2001 - 16:09 #2
hmm, det har jeg nu prøvet, men det hjalp ikke... er der mere jeg gør forkert!?
Avatar billede erikjacobsen Ekspert
26. juni 2001 - 16:13 #3
Så skal du lige forklare hvornår det er din else skal udføres. Det kan
jeg i hvert fald ikke gætte mig til.
Avatar billede assamite Nybegynder
26. juni 2001 - 16:17 #4
f.eks. hvis:

  if (!bShowDefault5)
    {
      strStorMaalPath =\"<%= \"/images/products/\" & session(\"AktuelVare\") & \"_5.gif\"%>\";

er falsk (eller sand er det jo).

så skal:

    strStorMaalPath =\"<%= \"/images/products/Default_5.gif\"%>\";

udføres i stedet... er du/i med nu?!
Avatar billede assamite Nybegynder
26. juni 2001 - 17:36 #5
Jeg har selv fundet en løsning... tak for din tid!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester