18. september 2008 - 19:38Der er
5 kommentarer og 1 løsning
findes der Knapper der opfører sig som radiobuttom
Jeg har brug for nogle knapper (nok 8stk) i en form der opfører sig på samme måde som radiobuttom (altså kun een aktiv ad gangen). Knapperne skal have forskellige tekster som almindelige submit knapper og jeg vil bruge onclick=ShowDetajl(this). Om det er standard knapper, eller nogle jeg selv skal lave (img) er egentlig ikke vigtig - bare det nemmeste og mest flexible.
Problemet er at jeg vil have dem til at skifte form eller farve, så man kan se hvilken er aktiv (evt. rød tekst). Når en af de andre knapper så klikkes, skal den være aktiv og den anden skife om til 'normal'. I forbindelse med en knap er aktiv skal den selvfølge kalde mit script med onclick=ShowDetajl(this).
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
<script type="text/javascript"> function selectButton(element){ var elements = document.getElementById('Group').childNodes; for(var i = 0; i < elements.length; i++){ elements[i].style.borderColor = "grey"; } element.style.borderColor = "red"; } </script>
jeg har prøvet det og det virker fint, men knapperne er ikke så flotte. HVIS jeg nu valgte at laver mine knapper selv (img1 eller 1, img2 eller 2 osv.) og ønskede at udskifte dem med (img11 eller 11, img 21 eller 21 osv.) altså så knap har 2 udgaver (1 og 11) og næste (2 og 21). Hvordan ville scriptet så se ud (jeg formoder at det ikke helt er det samme ??
-- og så var der i øvrigt også lige et andet issue, nemlig at Group-div'en har andre childNodes i nogle browsere, så man skal bruge .getElementsByTagName("input") i stedet for .childNodes !-)
Men f.eks. udskifte billeder sådan:
<script type="text/javascript"> function selectButton(element){ var elements = element.parentNode.getElementsByTagName("input"); for(var i = 0; i < elements.length; i++){ elements[i].setAttribute("src","img" + elements[i].getAttribute("value") + ".gif"); } element.setAttribute("src","img" + elements[i].getAttribute("value") + "1.gif"); } </script>
Min kode bør vidst virke i øvrige browsere også (eller skal vi sige mit eksempel:) )
if(elements[i].className != null)
bør være null for øvrige elementer som andre browsere evt. sætter ind i en div.
men ellers er det netop forbedret kode du presentere så det er kun godt. som jeg skriver selv var det hurtigt skrevet kode til inspiration, men skulle forbedres af spørger selv:-) - eller en anden:)
Synes godt om
Ny brugerNybegynder
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.