Avatar billede xbobby Nybegynder
25. juni 2003 - 19:02 Der er 15 kommentarer og
1 løsning

Grafisk radiobuttons

Hej med jer.

Jeg vil gerne have ersttattet mine radiobuttons med grafik som jeg selv laver, vi kunne kalde dem for radio_off.gif og radion_on.gif

Hvordan gør jeg det og stadigvæk bevarer min form?

xbobby
Avatar billede codemasterz Nybegynder
25. juni 2003 - 19:44 #1
Tror ikke du kan lave grafiske radiobuttons..

Tror mere det bliver noget med:

If radio_off.gif.visible = true then - et eller andet -

Tror jeg...

MVH. CodeMasterZ
Avatar billede swuppe Nybegynder
25. juni 2003 - 20:59 #2
Hvad med noget i stil med <input type="image" id="etId" src="radio_off.gif" onclick="java script: this.src='radio_on.gif'">
Avatar billede swuppe Nybegynder
25. juni 2003 - 21:00 #3
ups glemte lige du skal tilføje return false; ellers submitter den vist, sådan her:
<input type="image" id="etId" src="radio_off.gif" onclick="java script: this.src='radio_on.gif'; return false;">
Avatar billede roenving Novice
26. juni 2003 - 00:41 #4
-- og så væk med den der java script: i en event-handler -- det er _ikke_ lovlig script-kode ...
Avatar billede Slettet bruger
26. juni 2003 - 06:56 #5
Hejsa.

Prøve dette link:
http://javascript.internet.com/forms/radio-buttons.html#

Jeg har ingen erfaringer med scriptet, ej heller hvilke browsere og -verioner scriptet virker med, men test dig frem.
Avatar billede xbobby Nybegynder
26. juni 2003 - 20:13 #6
Hej swuppe

Hvordan opnår jeg samme fordel som med radiobuttons, så når en bliver trykket ned på en radio button (on), så bliver de andre (off), for det er hvad der sker med din kode lige nu. Ellers fungere det fint.

Samt et tillægsspørgsmål, normalt er der en funktion der hedder "name" og "value" i forbindelse med radiobuttons, lægger jeg bare dem ind som man plejer eller er der noget specielt der skal gøres i dette tilfælde?
Avatar billede xbobby Nybegynder
26. juni 2003 - 20:17 #7
Det der sker lige nu er at når jeg har trykket en radion button ned og så ombestemmer mig og trykker på en anden, så har jeg pludselig 2 radio buttons der er trykket ned, og målet er selvfølgelig at der kun er en radio button der er trykket ned af gangen.
Avatar billede Slettet bruger
26. juni 2003 - 20:19 #8
Hvorfor vil du bygge hele scriptet op fra bunden af (opfinde den dybe tallerken igen)?
Du behøves bare at klikke på linket, for at se en komplet kode.  ;~}
Avatar billede swuppe Nybegynder
26. juni 2003 - 20:28 #9
hej, flyt javascriptet op i en funktion her skal du så "slukke" alle radio knapper og derefter "tænde" den valgte, ved du på forhånd hvor mange der vil være samt deres id?

"name" og "value" fungerer som normalt.
Avatar billede xbobby Nybegynder
26. juni 2003 - 21:47 #10
Hej swuppe
Kan du vise mig hvordan - jeg er ikke så skrap til javascript og funktioner, samt det der med at tænde og slukke, så gider du? (der skal være 3 stk).

Hej extended
Jeg har skam kikket på dit link, men koden er lidt mere anvanseret end til mit begynder niveau og jeg vil hellere have noget kode jeg forstår og kan bygge videre på.
Avatar billede swuppe Nybegynder
26. juni 2003 - 23:42 #11
Hej xbobby

ok her er et lille eksempel du kan kigge på, hvis du har spørgsmål til det så fyr løs. (svarer nok ikke før i morgen ;o) Dette eksempel skulle virke i alle browsere der understøtter DOM.

<HTML>
<HEAD>
<SCRIPT>
function radioToggle(radioEl) {
    for(i=1; i<4; i++) {
        radio = "radio"+i
        document.getElementById(radio).src = "radio_off.gif"
    }
    document.getElementById(radioEl.id).src = "radio_on.gif"
   
}
</SCRIPT>
</HEAD>
<BODY>
<form name="form" action="#" method=post>
<input id="radio1" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" value="test">
<input id="radio2" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" value="test">
<input id="radio3" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" value="test">
</FORM>
</BODY>
</HTML>
Avatar billede roenving Novice
27. juni 2003 - 01:03 #12
-- men du skal vel også huske at sætte dine values og checked-values for at kunne bruge dem som radios ellers fungerer !o]
Avatar billede xbobby Nybegynder
27. juni 2003 - 12:03 #13
Hej swuppe

Det fungere fint - De 60 point er dine - gider du her på falderebet fortælle mig hvad det er der sker inde i den funktion?

Jeg har vedlagt din kode med de småting der manglede i selve formen, så kan andre paste den og også få glæde af din kode.

For øvrigt tak for din store hjælp :-)

Her kommer den:

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

<HTML>
<HEAD>
<SCRIPT>
function radioToggle(radioEl) {
    for(i=1; i<4; i++) {
        radio = "radio"+i
        document.getElementById(radio).src = "radio_off.gif"
    }
    document.getElementById(radioEl.id).src = "radio_on.gif"
   
}
</SCRIPT>
</HEAD>
<BODY>
<form action="test.php" method="post">
<input id="radio1" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" name="grad" value="1">
<input id="radio2" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" name="grad" value="2">
<input id="radio3" type="image" src="radio_off.gif" onclick="radioToggle(this); return false;" name="grad" value="3">
<input type="submit" value="Godkend">
</FORM>
</BODY>
</HTML>
Avatar billede swuppe Nybegynder
27. juni 2003 - 14:13 #14
Hej funktionen starter med at "slukke" alle dine radios dvs, sætte billedet til radio_off.gif på alle id med radioX hvor X er {1,2,3}, det sker i for-løkken. Vil du have en radio mere skal du altså blot ændre 4 tallet til 5. Derefter sættes billedet til radio_on.gif på for det id som blev klikket på.

Bemærk at jeg bruger getElementById som er en DOM funktion, hvis det skal virke i browsere der ikke understøtter DOM, skal det altså laves specielt.
Avatar billede xbobby Nybegynder
27. juni 2003 - 17:26 #15
Ganske kort
Hvad er en DOM funktion og kan den bruges til de mest almindelige browsere?
Avatar billede roenving Novice
27. juni 2003 - 17:30 #16
DOM betyder Document Object Model og er standarden for web-side-browser-specifikationer
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