Avatar billede weblance Nybegynder
06. september 2011 - 17:06 Der er 17 kommentarer og
1 løsning

Klikke på billede i stedet for radio button

Hej

Jeg er ved at lave en simpel lille side hvor brugeren skal vælge imellem to forskellige billeder ved at klikke på en radio button. Men i stedet kunne jeg tænke mig at brugeren klikkede på billedet i stedet for en radio button.

Hvordan gør man det?
Avatar billede claes57 Ekspert
06. september 2011 - 17:22 #1
du laver en onClick() og lidt javascript, der så kalder en side (eller hvad du nu vil)
<img src="img/cadeau.gif" width="20" height="19" onclick="" />
Avatar billede weblance Nybegynder
06. september 2011 - 18:20 #2
DU misforstår claes57. Det jeg vil er at billedet er en radiobutton i stedet for standard.
Avatar billede weblance Nybegynder
06. september 2011 - 18:20 #3
Hovsa fik lige skrevet DU i stedet for Du . . . det kan godt lyde som om jeg øffer :)
Avatar billede olebole Juniormester
07. september 2011 - 21:44 #4
<ole>

weblance >> Det er vist dig, der misforstår, hvad claes57 skriver. Han giver dig netop opskriften på at bruge et billede i stedet for en radio button.

Eller misforstår både claes57 og jeg dit spørgsmål?

/mvh
</bole>
Avatar billede weblance Nybegynder
07. september 2011 - 21:53 #5
Spørgsmålet går ud på at radio button A skal erstattes med billede A og at radio button B skal erstattes med billede B.
Avatar billede olebole Juniormester
07. september 2011 - 22:20 #6
Så har hverken claes57 eller jeg misforstået noget. Spørgsmålet er så bare, hvad det er, du ikke har forstået  =)
Avatar billede weblance Nybegynder
07. september 2011 - 22:26 #7
Ja jeg har ikke forstået noget som helst. Der hvor kæden hopper af er nok javascriptet :(

Skal jeg lavet et onclick til billedet der sætter værdien i en radio button?

Det ved jeg ikke hvordan man gør :(
Avatar billede olebole Juniormester
07. september 2011 - 22:36 #8
I princippet kan det gøres med:


onclick="document.getElementById('myRadio').checked=true"

Avatar billede olebole Juniormester
07. september 2011 - 23:45 #9
Kom til at tænke på, at det måske kunne være meget fikst at benytte label elementets egenskaber:



<style type="text/css">
.fooBar input {
    position: absolute;
    left: -10000px;
    top: -10000px;
}
</style>

<script type="text/javascript">
var actElm = "myCars_2";

function setRadio(elmLabel) {
    actElm = typeof actElm=="string" ? document.getElementById(actElm).parentNode : actElm;
    actElm.getElementsByTagName("img")[0].setAttribute("src", "radio_off.png");
    elmLabel.getElementsByTagName("img")[0].setAttribute("src", "radio_on.png");
    actElm = elmLabel;
}
</script>

<form action="">
<div class="fooBar">
    <label for="myCars_1" onclick="setRadio(this)">Bil #1: <img src="radio_off.png" alt=""><input id="myCars_1" name="myCars" value="1" type="radio"></label>
    <label for="myCars_2" onclick="setRadio(this)">Bil #2: <img src="radio_on.png" alt=""><input id="myCars_2" name="myCars" value="2" type="radio" checked="checked"></label>
    <label for="myCars_3" onclick="setRadio(this)">Bil #3: <img src="radio_off.png" alt=""><input id="myCars_3" name="myCars" value="3" type="radio"></label>
</div>
</form>

Avatar billede olebole Juniormester
07. september 2011 - 23:58 #10
- og næste spørgsmål bliver sikkert: "Hvis jeg nu skal bruge flere radio grupper?"  =)



<style type="text/css">
.fooBar input {
    position: absolute;
    left: -10000px;
    top: -10000px;
}
</style>

<script type="text/javascript">
var groupActiveElms = {
    "myCars": "myCars_2",
    "myBikes": "myBikes_3"
};

function setRadio(elmLabel) {
    var sGroup = document.getElementById(elmLabel.getAttribute("for")).getAttribute("name");
    var actElm = groupActiveElms[sGroup];
    actElm = typeof actElm=="string" ? document.getElementById(actElm).parentNode : actElm;
    actElm.getElementsByTagName("img")[0].setAttribute("src", "radio_off.png");
    elmLabel.getElementsByTagName("img")[0].setAttribute("src", "radio_on.png");
    groupActiveElms[sGroup] = elmLabel;
}
</script>

<form action="">
<div class="fooBar">
    <label for="myCars_1" onclick="setRadio(this)">Bil #1: <img src="radio_off.png" alt=""><input id="myCars_1" name="myCars" value="1" type="radio"></label>
    <label for="myCars_2" onclick="setRadio(this)">Bil #2: <img src="radio_on.png" alt=""><input id="myCars_2" name="myCars" value="2" type="radio" checked="checked"></label>
    <label for="myCars_3" onclick="setRadio(this)">Bil #3: <img src="radio_off.png" alt=""><input id="myCars_3" name="myCars" value="3" type="radio"></label>
</div>

<div class="fooBar">
    <label for="myBikes_1" onclick="setRadio(this)">Bike #1: <img src="radio_off.png" alt=""><input id="myBikes_1" name="myBikes" value="1" type="radio"></label>
    <label for="myBikes_2" onclick="setRadio(this)">Bike #2: <img src="radio_off.png" alt=""><input id="myBikes_2" name="myBikes" value="2" type="radio"></label>
    <label for="myBikes_3" onclick="setRadio(this)">Bike #3: <img src="radio_on.png" alt=""><input id="myBikes_3" name="myBikes" value="3" type="radio" checked="checked"></label>
</div>
</form>

Avatar billede NielsErikP Mester
08. september 2011 - 00:00 #11
Hmmm... Ha ha!!
... i sin mors underkjole ;-)
Avatar billede olebole Juniormester
08. september 2011 - 00:24 #12
Nej, ikke i sin mors underkjole - men i hans søsters røde kjole  *o)

Verset, du prøver at citere, lyder:

Ole Bole gik i Skole,
med sin Søsters røde Kjole,
kom hjem Klokken fem,
gik på Hovedet i sin Seng,
Ole vip, Ole vap, du slap!


- og det stammer fra Ole Bole ABC. En legendarisk læsebog for folkeskolen, udgivet i 1920'erne og illustreret af Storm P.

Jeg kom selv i skole i begyndelsen af 60'erne og havde Søren og Mette - Vi læser, men i min 6 år ældre storesøsters klasse brugte de Ole Bole ABC
Avatar billede olebole Juniormester
08. september 2011 - 00:28 #13
- og som du kan se, var Søren og Mette ikke just perfekt pædagogik. Det hedder faktisk - men i sin søsters røde kjole, OleBole!  *D
Avatar billede NielsErikP Mester
08. september 2011 - 13:32 #14
Hej...
Nåå ja... men det jeg mente var... At tager du ikke pis å folk med #9 og #10...
Du satme en dygtigt dansk lærer ;-)
Avatar billede olebole Juniormester
08. september 2011 - 21:48 #15
Hmmmmm ... det forstod jeg ikke en hat af. Tror lige, jeg ryger en pind mere og ser, om det hjælper  *-\
Avatar billede weblance Nybegynder
18. december 2011 - 15:02 #16
Olebole - smid et svar til point :)
Avatar billede olebole Juniormester
18. december 2011 - 16:07 #17
Ellers tak, jeg samler ike point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede weblance Nybegynder
18. december 2011 - 19:13 #18
Takker
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