Avatar billede bernhof Nybegynder
09. april 2001 - 15:29 Der er 21 kommentarer og
2 løsninger

[if] i javascript

Hej...

Jeg har siddet og prøvet at få et if clause til at virke efter hvad jeg nu kunne huske, men det gik ikke helt godt (jeg programmerer normalt ikke i JavaScript). Herunder ser I koden, som jeg ikke helt kan få til at virke. Jeg håber at I kan debugge den, selvom den nok er ret busted :)
----


function setBaadlen()
{
if ( document.frmSog.selSektion.value != \"baad\" )
  {
  document.frmSog.txtBaadlen.disabled = true
  document.frmSog.txtBaadlen.value = \"---\"
  };
else
  {
  document.frmSog.txtBaadlen.disabled = false
  document.frmSog.txtBaadlen.value = \"\"
  };
};


----
Heh - er jeg helt gal på den?
Avatar billede mbsm Nybegynder
09. april 2001 - 15:33 #1
Faktisk er din kode ok pånær at man IKKE sætter semikolon efter tuborgtegn - overhovedet! Så fjern semikolonerne de 3 steder hvor det drejer sig om og din if/else statement virker.
/mbsm
Avatar billede nute Nybegynder
09. april 2001 - 15:35 #2
det har ingen betydning om man setter semikolon etter tuborg...
Avatar billede netsrac Praktikant
09. april 2001 - 15:35 #3
Der mangler også lidt semikoloner

function setBaadlen()
{
if ( document.frmSog.selSektion.value != \"baad\" )
  {
  document.frmSog.txtBaadlen.disabled = true;
  document.frmSog.txtBaadlen.value = \"---\";
  }
else
  {
  document.frmSog.txtBaadlen.disabled = false;
  document.frmSog.txtBaadlen.value = \"\";
  }
}
Avatar billede mbsm Nybegynder
09. april 2001 - 15:36 #4
Jeg glemte lige, at du skal huske at afslutte dine sætninger med \";\", så din kode skal altså se sådan her ud:

function setBaadlen()
{
if ( document.frmSog.selSektion.value != \"baad\" )
  {
  document.frmSog.txtBaadlen.disabled = true;
  document.frmSog.txtBaadlen.value = \"---\";
  }
else
  {
  document.frmSog.txtBaadlen.disabled = false;
  document.frmSog.txtBaadlen.value = \"\";
  }
}



Avatar billede bernhof Nybegynder
09. april 2001 - 15:39 #5
Jeg har lavet en onchange og en onclick procedure på objektet selSektion (dropdownbox), og selvom selSektion\'s værdi = \"baad\" så forbliver den disabled... Damn!

Har I nogen idé om hvad jeg skal gøre?
Avatar billede mbsm Nybegynder
09. april 2001 - 15:40 #6
Det kan godt være at det ikke betyder noget, at sætte semicolon efter tuborgtegn - der er bar eingen der gør det! Det er ikke pænt! Det svarer jo til, at du jo faktisk heller ikke behøver at sætte semicoloner efter hver linje. Det bør man bare gøre da det er det pæneste at gøre
Avatar billede nute Nybegynder
09. april 2001 - 15:40 #7
du skal tenke på at for å få oppheve ditt disabled så skal du refreshe din side igjen, for du har bare et enkelt sjekk på om verdien av ditt textfelt inneholder den ønskede verdi.

Avatar billede bernhof Nybegynder
09. april 2001 - 15:41 #8
Det er som om proceduren efter else ikke bliver udført lige meget hvad...
Avatar billede nute Nybegynder
09. april 2001 - 15:41 #9
hmm....med textfelt så mener jeg ditt formelement...:)
Avatar billede netsrac Praktikant
09. april 2001 - 15:41 #10
Hvis det er en dropdown boks skal din if se ud i stil med dette:

if ( document.frmSog.selSektion.options[document.frmSog.selSektion.selectedIndex].value != \"baad\" )
Avatar billede bernhof Nybegynder
09. april 2001 - 15:42 #11
nute >> du mener at jeg skal refreshe siden i stedet for at ophæve mit disabled?
Avatar billede nute Nybegynder
09. april 2001 - 15:43 #12
nei...sånn som du har kodet det nå, så det en nødvendighet å refreshe... :) og det ikke særlig smart ;)
Avatar billede bernhof Nybegynder
09. april 2001 - 15:44 #13
nute >> Hvordan skal jeg så gøre?
Avatar billede nute Nybegynder
09. april 2001 - 15:46 #14
det kommer an på hva du egentlig prøver på...jeg kan ikke ut fra det du har postet forstå hva du egentlig vil :)
Avatar billede bernhof Nybegynder
09. april 2001 - 15:51 #15
nute >>

OK. Hver gang der ændres noget i min drop-down box skal jeg teste på om den valgte værdi er \"baad\".
- Hvis den er: txtBaadlen.disabled = false
- Hvis ikke den er: txtBaadlen.disabled = true
Altså det skal kun være muligt at skrive i txtBaadlen hvis selSektion har værdien \"baad\"...

Kan man gennemskue det, jeg lige skrev?? :)
Avatar billede bernhof Nybegynder
09. april 2001 - 15:52 #16
selSektion = drop-down box
Avatar billede nute Nybegynder
09. april 2001 - 15:57 #17
du kan jo ikke velge noe fra den hvis den er disabled...så hvis du første gang velger noe din drop-down, og verdien *ikke* er fx baad, så vil den \"alltid\" være disabled...du kan ikke velge mer fra den...
Avatar billede bernhof Nybegynder
09. april 2001 - 15:57 #18
Hovsa... jeg har fundet ud af det... En dum fejl andetsteds på siden... Øv! :) Men tak for hjælpen alligevel!
Avatar billede jakoba Nybegynder
09. april 2001 - 23:16 #19
mbsm >> der er ikke noget ivejen med ; efter slut-tuborg }

det gale er ; foran else (som mikbj havde det)
eg:
  if ( OK )
    alert( \"det er OK\" )  // ikke semikolon her
  else {                  // fordi der kommer et else
    alert( \"det er ikke OK\" );
    alert( \"skam dig\" );
  };                      // der må gerne være semikolon her
   
og foran while hvis det er i en do ... while løkke
eg:
  do i++ while ( i<25 );  // der må IKKE være ; mellem i++ og while her

mvh JakobA
Avatar billede olebole Juniormester
09. april 2001 - 23:56 #20
<ole>
Hvis man komprimerer sine scripts ved at smide dem op på én linie (og det er der mange kb at spare ved, når man skriver store scripts), SKAL der være semikolon efter Tuborg\'er, der afslutter en funktion...!
/mvh
</bole>
Avatar billede nute Nybegynder
10. april 2001 - 10:21 #21
ole >> så er det også enkelt å debugge ;) men med tanke på kb...enig
Avatar billede olebole Juniormester
11. april 2001 - 05:47 #22
Ha! Det er komplet umuligt at debugge...!!! *LooooL*
Man skal altid sørge for at have en kopi af det originale script - evt. med kommentarer. Det kan man så komprimere efter evt. omskrivning/debugging :)
/mvh
Avatar billede nute Nybegynder
11. april 2001 - 11:04 #23
my point exactly .... *S*
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