Avatar billede tblaster Nybegynder
26. august 2003 - 14:11 Der er 17 kommentarer og
1 løsning

hvis _ eller noget andet _ så skal funktion udføres

Hvordan kæder jeg de her to sammen så at den udføre den funktion der følger hvis den ene eller den anden er opfyldt?

if (form.Temaområde.selectedIndex != -1) {
if (form.Temaområde.selectedIndex != 1) {
Avatar billede mm12010 Nybegynder
26. august 2003 - 14:16 #1
if (form.Temaområde.selectedIndex != -1) {
  funktion1();
else if (form.Temaområde.selectedIndex != 1) {
  funktion2();
  }
Avatar billede mm12010 Nybegynder
26. august 2003 - 14:17 #2
if (form.Temaområde.selectedIndex != -1) {
  if (form.Temaområde.selectedIndex != 1) {
    funktion2();
    }
  else{
    funktion1();
    }
  }
Avatar billede roenving Novice
26. august 2003 - 14:19 #3
if (Math.abs(form.Temaområde.selectedIndex) != 1) {
Avatar billede tblaster Nybegynder
26. august 2003 - 14:22 #4
Jeg syntes ikke helt det funger:

function changePage(form) {

    if (form.Temaområde.selectedIndex != -1) {
    if (form.Modul.selectedIndex != 1) {
        PaneValues = form.Temaområde.options[form.Temaområde.selectedIndex].value.split("_");
        ModulValue = PaneValues[0] + "_" + PaneValues[1]
        DriverValue = ModulValue + "_" + PaneValues[2];
        whichArray = eval("Temaområde" + PaneValues[0] + "_" + PaneValues[1]);
        for (i = 0; i < whichArray.length; i++) {
            if (whichArray[i].ID == DriverValue) {
                form.action = "java script:document.location.href = '" + strURLPrefix + whichArray[i].URL + "';";
                break;
            }
        }
        return true;
    }

    else {
        alert("Vælg venligst et temaområde før du fortsætter.");
        return false;
    } }
}

Det er måske denne der er fejl i:
if (form.Modul.selectedIndex != 1) {

Den skal kun udføre funktionen hvis der i form temaområde er valgt en værdi eller hvis der i form Modul er valgt den første værdi. Men med overstående kode så accepter den selvom man ikke har valgt nogen værdier i nogle af foraene.
Avatar billede roenving Novice
26. august 2003 - 14:25 #5
} }

    else {
        alert("Vælg venligst et temaområde før du fortsætter.");
        return false;
    }
}
Avatar billede tblaster Nybegynder
26. august 2003 - 14:36 #6
Nu accepter den kun når:
form.Temaområde.selectedIndex != -1)
Er der noget galt med denn:
(form.Modul.selectedIndex != 1)

Den skal gerne accepter når det første valg i Modul er valgt!
Avatar billede tblaster Nybegynder
26. august 2003 - 14:39 #7
Selvfølgelig reager den kun på den øverste ... den måde det er sat op på reager den jo kun på den øverste og hvis den er opfyld og den næste er opfylt så får man ikke en alert.

Det skal være som i asp hvor if ... or if ... altså ikke if ... if! Jeg skal bruge det som en enten eller funktion!
Avatar billede roenving Novice
26. august 2003 - 14:49 #8
Hvad med: 14:19:58
Avatar billede roenving Novice
26. august 2003 - 14:58 #9
if (form.Temaområde.selectedIndex != -1 && form.Temaområde.selectedIndex != 1) {
Avatar billede tblaster Nybegynder
26. august 2003 - 14:59 #10
Der er ingen forskel hvis jeg benytter den
Avatar billede tblaster Nybegynder
26. august 2003 - 15:03 #11
Med din sidste så accepter den alle værdier igen også selvom jeg ikke have valgt nogen.
Avatar billede roenving Novice
26. august 2003 - 15:17 #12
Øh, der er vist også noget med logikken ...

Hvis den skal udføres ved den ene eller den anden værdi skal det jo være:

if (form.Temaområde.selectedIndex == -1 || form.Temaområde.selectedIndex == 1) {
Avatar billede tblaster Nybegynder
26. august 2003 - 15:45 #13
Det hjalp heller ikke ...

Jeg fik også skrevet forkert til at starte med:
if (form.Tema.selectedIndex != -1) {
if (form.Modul.selectedIndex != 1) {

Det andet gav jo ingen mening! Enten skal nr 1 i Modul være markeret ellers skal der være en værdi valgt i Tema!
Avatar billede roenving Novice
26. august 2003 - 15:57 #14
f (form.Tema.selectedIndex != -1 || form.Modul.selectedIndex == 1) {
Avatar billede tblaster Nybegynder
26. august 2003 - 16:04 #15
Nope ... den vil stadig altid have at følgende er opfylt:
form.Tema.selectedIndex != -1

Det skal jo være sådan at det kun er en af dem der er opfyldt.

I asp ville det være:
If Tema = -1 Or If Modul = 1 Then (Enten eller)
Avatar billede roenving Novice
26. august 2003 - 16:05 #16
Er du sikker på at det ikke er fordi det skal være Modul == 0 !-)
Avatar billede tblaster Nybegynder
26. august 2003 - 16:19 #17
Jo selvfølgelig skal den da være 0 ... thx ... smid et svar og du skal få dine point!
Avatar billede roenving Novice
26. august 2003 - 16:29 #18
Velbekomme '-)
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