Avatar billede hnteknik Novice
29. marts 2002 - 12:57 Der er 2 kommentarer og
1 løsning

Problemer med switch i Jscript - kan man anvende string cases ?

Nedenstående switch eksempel er direkte taget fra direkte fra Netscapes Statements chapter 4, hvor eksemplet anvender string sammenligning. Jeg mener at huske fra Java, at man i switch kun kan anvende Int og det virker da heller ikke her. Er der andre, der kan anvende switch med strings i jscript eller er det kun i javascript, det virker.
Henrik

<%if( Request.Form ){
    for( i = new Enumerator( Request.Form ); !i.atEnd(); i.moveNext() )
    {if((Request.Form(i.item())=='ON') ^ (i.item() =='allbox'))
      Response.write( i.item() + ": " + Request.Form( i.item() ) + "...<br>" );
    }
    if(Request.Form("_HMaction")=='StatusTo') {
        Response.write(Request.Form("_HMaction")+"<br>");
        var i = Request.Form("tobox");
        Response.write(" Dette er: >>" +i +"<<<br>" );
        switch (i) {
        case "A" :
          Response.write("Oranges are $0.59 a pound.<BR>");
          break;
        case "H" :
          Response.write("Apples are $0.32 a pound.<BR>");
          break;
        case "C" :
          Response.write("Bananas are $0.48 a pound.<BR>");
          break;
        case "D" :
          Response.write("Cherries are $3.00 a pound.<BR>");
          break;
        default :
          Response.write("Sorry, we are out of >>" + i+ "<<.<BR>");
    } Response.write("Is there anything else you'd like?<BR>");

        }
  }
%>
Avatar billede coltau Juniormester
29. marts 2002 - 13:46 #1
Det er fordi at i ikke er en string når du tildeler den således:
var i = Request.Form("tobox");
Jeg har prøvet denne:
var i = Request.Form("tobox").charAt(0);
uden held.

MEN denne virker.
var i = Request.Form("tobox") + "";

Sjovt nok så defineres i som en string og switch kan anvendes.
Avatar billede hnteknik Novice
31. marts 2002 - 09:54 #2
>>coltau

Takker. Kiggede lige forbi http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsstmswitch.asp og tilsyneladende skulle string være ok. I ren JAVA må man ikke bruge string men kun char.

Det er værd at bemærke, at SWITCH 'is not compliant with ECMA standards'.

God Påske Henrik
Avatar billede hnteknik Novice
31. marts 2002 - 10:44 #3
>> var i = Request.Form("tobox") + "";

var i = String(Request.Form("tobox"));

alså do the trick
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
Kurser inden for grundlæggende programmering

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