Avatar billede bluwduch Nybegynder
26. maj 2003 - 12:39 Der er 7 kommentarer og
1 løsning

Ændre enabled/disabled af f.eks. <STRONG>

Hejsa

Roder lidt med JavaScript og bruger det til at enable/disable en del af en form udfra nogle radio-buttons. Nu har jeg også noget tekst som ikke er en del af denne form, men i et <STRONG> tag. Kan man bruge JavaScript til at enable/disable det, så det får samme effekt som form'en, eller skal man en anden vej for at realisere det?

Mvh
Daniel-San
Avatar billede edutasia Nybegynder
26. maj 2003 - 13:08 #1
I IE kan du f.eks. sætte runtimeStyle.filter = 'Emboss', hvilket giver næsten samme effekt som at disable et form-element. Her er et eksempel på en side med et script, der kan tage alle <STRONG>-tags inden for et element og "enable"/"disable" dem:

------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<SCRIPT>
function toggleStrong(objParent) {
  var coll = objParent.getElementsByTagName('STRONG');
  for (var i=0; i< coll.length; i++) {
      if (coll[i].runtimeStyle.cssText == '') {
      coll[i].runtimeStyle.width = coll[i].offsetWidth;
      coll[i].runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.Emboss(Bias=0.7)';
        }
    else {
      coll[i].runtimeStyle.cssText = '';
        }     
    }
}

</SCRIPT>
<BODY>
<div onclick="toggleStrong(this)">
<strong>test 1</strong>
<strong>test 2</strong>
<strong>test 3</strong>
<strong>test 4</strong>
</div>
</BODY>
</HTML>
Avatar billede edutasia Nybegynder
26. maj 2003 - 13:12 #2
Bemærk, at et element skal have "layout", som det hedder (dvs. have specificeret bredde eller højde m.v.), før filteret virker. Derfor sætter scriptet <STRONG>-elementets width til at være lig dets offsetWidth (forhåbentlig det samme), FØR filteret sættes på.
Avatar billede roenving Novice
26. maj 2003 - 14:18 #3
Du kan -- måske lettere -- sætte det i et <span>-tag og så ændre på style på tagget (utestet):

<span id="strongSpan" style="font-weight:bold;">Den stærke tekst</span>

og så ændre det med:

document.getElementById("strongSpan").style.fontWeight="normal"
Avatar billede bluwduch Nybegynder
26. maj 2003 - 14:34 #4
Wolla!

Jeg startede med at prøve roenving's løsning, da den umiddelbart var mest elegant og simpel. Det virkede perfekt :-D

Så jeg har ikke prøvet den anden løsning, men synes der skal gå fuld point til roenving - Men tak for hjælpen allesammen :-D

Mvh
Daniel-San
Avatar billede bluwduch Nybegynder
26. maj 2003 - 14:35 #5
Så giv lige et svar ved lejlighed :-D
Avatar billede roenving Novice
26. maj 2003 - 14:46 #6
Wolla, fetter '-)
Avatar billede edutasia Nybegynder
26. maj 2003 - 15:22 #7
bluwduch > helt OK - men... "mest elegant og simpel"?

Det er en stang spaghetti også i forhold til en lasagneplade, men prøv at stable 5 oven på hinanden...
Avatar billede roenving Novice
26. maj 2003 - 16:03 #8
Takker for points ;~}
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