Avatar billede kimg Nybegynder
26. februar 2004 - 11:48 Der er 9 kommentarer og
1 løsning

Radio som billede

Hvordan laver man en radio botton om til et billede, som så skifter billede når den er valgt.

Kim
Avatar billede roenving Novice
26. februar 2004 - 12:03 #1
Laver den som et image !-)

<form name="form1">
<img src="off.gif" onclick="if(this.src.indexOf('off')>-1){this.src='on.gif';document.form1.radio1='checked';}else{this.src='off.gif';document.form1.radio1='false';}">
<input type="hidden" name="radio1">
</form>
Avatar billede kimg Nybegynder
26. februar 2004 - 12:19 #2
jeg får en fejlmelding, "understøtter ikke denne metode" eller noget i den stil
Avatar billede nute Nybegynder
26. februar 2004 - 12:35 #3
der mangler en 'value':

<img src="off.gif" onclick="if(this.src.indexOf('off')>-1){this.src='on.gif';document.form1.radio1.value='checked';}else{this.src='off.gif';document.form1.radio1.value='false';}">

/nute
Avatar billede kimg Nybegynder
26. februar 2004 - 12:42 #4
det virker men, jeg har flere radio bottons, hvordan kan jeg styre at der kun kna vælges en
Avatar billede nute Nybegynder
26. februar 2004 - 13:00 #5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var g_objLastSelected = null;
    function chooseRadio( objRadio )
    {
        setRadioValue( objRadio, "checked", "on.gif" );
        setRadioValue( g_objLastSelected, "false", "off.gif" );
        g_objLastSelected = objRadio;
    }
    function setRadioValue( objRadio, strValue, strGif )
    {
        if( objRadio )
        {
            var strRadioID = objRadio.id;
            var objHiddenField = document.getElementById( strRadioID + "_hidden" );
            if( objHiddenField )
            {
                objHiddenField.value = strValue;
                objRadio.src = strGif;
            }
        }
    }
    //-->
    </script>
</head>

<body>
<form name="form1">
<img src="off.gif" id="radio1" onclick="chooseRadio( this );">
<img src="off.gif" id="radio2" onclick="chooseRadio( this );">
<img src="off.gif" id="radio3" onclick="chooseRadio( this );">
<input type="hidden" name="radio1_hidden" id="radio1_hidden">
<input type="hidden" name="radio2_hidden" id="radio2_hidden">
<input type="hidden" name="radio3_hidden" id="radio3_hidden">
</form>
</body>
</html>

/nute
Avatar billede kimg Nybegynder
26. februar 2004 - 13:23 #6
Det virker, men det skulle gerne kunne sættes ind "alm" radio bottons.
Sådan her:
<form name="form1" method="post" action="radio.php">
Valg 1 <input type="radio" name="ok" value="1">
Valg 2 <input type="radio" name="ok" value="2">
Valg 3 <input type="radio" name="ok" value="3">
<input type="submit" name="Send" value="Send">

Og når jeg modtager det:
echo $_POST['ok'];

Kim
Avatar billede nute Nybegynder
26. februar 2004 - 13:29 #7
eh ??? du skriver jo at du vil have radiobuttons som billeder ?!?!

så må du jo eventuelt bare lave 1 hidden felt som du smider en værdi ned i:

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var g_objLastSelected = null;
    function chooseRadio( objRadio )
    {
        setRadioValue( objRadio, true, "on.gif" );
        setRadioValue( g_objLastSelected, false, "off.gif" );
        g_objLastSelected = objRadio;
    }
    function setRadioValue( objRadio, bSetValue, strGif )
    {
        if( objRadio )
        {
            var strRadioID = objRadio.id;
            var strValue = strRadioID.split( "_" )[1];
            var objHiddenField = document.getElementById( "ok" );
            if( objHiddenField && bSetValue )
            {
                objHiddenField.value = strValue;
            }
            objRadio.src = strGif;
        }
    }
    //-->
    </script>
</head>

<body>
<form name="form1">
<img src="off.gif" id="radio_1" onclick="chooseRadio( this );">
<img src="off.gif" id="radio_2" onclick="chooseRadio( this );">
<img src="off.gif" id="radio_3" onclick="chooseRadio( this );">
<input type="text" name="ok" id="ok">
</form>
</body>
</html>

/nute
Avatar billede kimg Nybegynder
26. februar 2004 - 13:48 #8
ja, det er rigtigt, men radiobottons er jo en alternativ knap, så når jeg skriver radio bottons med billed, så tænker jeg på samme features som radio bottons har, men indrømmet min forklaring kunne godt have været lidt mere specifik.
Men det virker tak for hjælpen.
Kim
Avatar billede nute Nybegynder
26. februar 2004 - 14:14 #9
lukker du så spm ?

;o]
Avatar billede kimg Nybegynder
26. februar 2004 - 14:22 #10
Havde prøvet da jeg skrev, men det virkede ikke efter hensigten ;-)
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