Avatar billede www.faktaomvold.org Nybegynder
14. marts 2002 - 11:27 Der er 6 kommentarer og
1 løsning

If statement

Jeg har følgende action.

    if (isFinite(_root.motivation)) {
       
Hvis jeg vil have denne action udført, når den er false. Hvor skal jeg så indsætte false? Jeg har forsøgt på flere forskellige måder:
    if (isFinite(_root.motivation)false) {
    if (isFinite(_root.motivation, false)) {

Hvad skal jeg gøre?
Avatar billede paask Nybegynder
14. marts 2002 - 11:31 #1
Du kan blot benytte en logisk NOT operator (!).

if (!isFinite(_root.motivation)) {

Så burde det virke efter hensigten :0)
Avatar billede www.faktaomvold.org Nybegynder
14. marts 2002 - 11:42 #2
Hmm det virker ikke.

Jeg forhøjer pointene.

Jeg lavet følgende script:

    if (isFinite(_root.motivation)) {
        _root.regning = _root.produkt+motivationBeregn;
    } else if (!isFinite(_root.motivation)) {
        _root.regning = _root.produkt;
        _root.status = "Du skal indtaste et helt tal mellem 1 og 5 i boxen efter motivation";
    }
Jeg kan ikke forstå hvorfor den ikke tjekker om motivation er et tal eller ej. Hvis den er et tal skal den ligge motivation til produkt ellers skal den ikke. Uanset om jeg skriver et tal i textfield eller bogstaver så ligger den ikke motivation til produkt
Avatar billede www.faktaomvold.org Nybegynder
14. marts 2002 - 11:44 #3
Oops!
Jeg kan ikke forstå hvorfor den ikke tjekker om motivation er et tal eller ej. Hvis den er et tal skal den ligge motivationBeregn til produkt ellers skal den ikke. Uanset om jeg skriver et tal i textfieldet motivation eller bogstaver så ligger den ikke motivation til produkt
Avatar billede paask Nybegynder
14. marts 2002 - 11:52 #4
Et input felt vil altid have værdien string, det er uanset hvad brugeren indtaster. Så er det nødvendigt at du tester inputtet med Number(motivation) eller lignende for at se indholdet af strengen.

Mht. din if sætning, så tester du med første if om isFinite(_root.motivation) er true, hvis den er det bliver dens substatements udført. Hvis den ikke er tjekkes der efterfølgende kode. Dvs. istedet for at have endnu en if-else kan du nøjes med en else. Så vil else's substatements kun blive udført hvis isFinite(_root.motivation) er false. Derfor behøver du ikke tjekke det...

Det vil altså så nogenlunde således ud:

    if (isFinite(_root.motivation)) {
        _root.regning = _root.produkt+motivationBeregn;
    } else {
        _root.regning = _root.produkt;
        _root.status = "Du skal indtaste et helt tal mellem 1 og 5 i boxen efter motivation";
    }

Men du bliver nødt til at efterse inputtet, det vil pr default være en string.
Avatar billede www.faktaomvold.org Nybegynder
14. marts 2002 - 11:55 #5
Fandt selv ud af det manglede _root. førmotivationBeregn

Tak for hjælpen!!!
Avatar billede paask Nybegynder
14. marts 2002 - 11:57 #6
Ah ok :0)

Ellers lavede jeg lige denne:

    for (i=0 ; i < _root.inPutfelt.length ; i++){
        if (isNaN(_root.inPutfelt.charAt(i))){
        trace("Hey - det var vist ikke et nummer !");
        break;
        } else {
        trace("Hey det er et tal!");
        }
    }

Ved ikke om du kan bruge den, men hvis din egen fungerer er alt jo godt :0)
Avatar billede paask Nybegynder
14. marts 2002 - 11:59 #7
Tak for point :0)

Her er en mere modificeret udgave:

inPutFelt="121122";
i = 0;

    for (i=0 ; i < _root.inPutfelt.length ; i++){
        if (isNaN(_root.inPutfelt.charAt(i))){
        trace("Hey - det var vist ikke et nummer !");
        break;
        } else {
        i++;
        }
    }
    if(i == _root.inPutfelt.length){
    trace("Hey - det hele var et tal :0)");
    }
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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