Avatar billede lightbrain Nybegynder
25. maj 2002 - 21:02 Der er 19 kommentarer og
1 løsning

Fjerner fokus fra dropdown-menu?

Hej

Hvordan fjerner man fokuset fra en dropdown-menu?
Avatar billede gryn Nybegynder
26. maj 2002 - 01:11 #1
onclick="this.blur()" skal stå i den linie, der aktiverer scriptet.
f.eks. <a href="#" onclick="dropdownFunktionen();this.blur;">MENU</a>
Avatar billede gryn Nybegynder
26. maj 2002 - 01:12 #2
undskyld

f.eks. <a href="#" onclick="dropdownFunktionen();this.blur();">MENU</a>
Avatar billede lightbrain Nybegynder
26. maj 2002 - 10:56 #3
Tak for dit forslag.

Jeg har prøvet det, men den blå markering (fokus), som findes på min dropdown-menu forbliver, eftat at jeg har klikket i en anden dropdown-menu.

Kan du hjælpe mig her?
Avatar billede gryn Nybegynder
26. maj 2002 - 12:43 #4
ahh... sådan en... må jeg se siden, det drejer sig om. Eller bare koden.
Avatar billede lightbrain Nybegynder
26. maj 2002 - 12:52 #5
<html>
<head>
<script>

function flyt(form,vej) {

        sel1 = (vej == 0) ? form.artikel : form.ikkePlaceret;
        sel2 = (vej == 0) ? form.ikkePlaceret : form.artikel;
        ind = sel1.selectedIndex;
        sel2.options.length += 1;
        sel2.options[sel2.options.length - 1].text = sel1.options[ind].text;
        sel2.options[sel2.options.length - 1].value = sel1.options[ind].value;
        sel1.options[ind] = null;
       
}

function Fokus (form, element){

    if (document.forms[form].elements[element].name == "inde") {
        document.forms[form].Ud.disabled = false;
        document.forms[form].Ind.disabled = true;
    }

    if (document.forms[form].elements[element].name == "ude") {
        document.forms[form].Ud.disabled = true;
        document.forms[form].Ind.disabled = false;
    }
}

</script>
</head>
<body>


        <select name="inde" onClick="self.CheckFocus('ArrangerArtikler', 'inde');" size=3>       
        </select><p>
          <input type='button' value='    Ind  ' onclick='flyt(this.form)' name="Ind"><input type='button' value='  Ud  ' onClick='flyt(this.form,0)' name="Ud">
        </p>
        <p>


        <select name="ude" size=3 onClick="self.CheckFocus('ArrangerArtikler', 'ude');">
        </select></p>
</body>
</html>
Avatar billede gryn Nybegynder
26. maj 2002 - 13:49 #6
Det kan gøres på en lettere måde
Avatar billede gryn Nybegynder
26. maj 2002 - 13:58 #7
Du skal indsætte
onchange="document.formnavn.bla3.focus();"
i dine <select>-tags

og skrive denne kode i din form:
<div style="position:absolute;left:-500;top:-500;">
<input type="button" name="bla3">
</div>

Her er et eksempel:

<form name="formnavn" action="index.php" method="post">
<select name="bla1" onchange="document.formnavn.bla3.focus();">
<option value="id">BLA1-1</option>
<option value="id2">BLA1-2</option>
<option value="id">BLA1-3</option>
<option value="id2">BLA1-4</option>
</select>

<select name="bla2" onchange="document.formnavn.bla3.focus();">
<option value="id">BLA2-1</option>
<option value="id2">BLA2-2</option>
<option value="id">BLA2-3</option>
</select>

<div style="position:absolute;left:-500;top:-500;">
<input type="button" name="bla3">
</div>
</form>
Avatar billede lightbrain Nybegynder
26. maj 2002 - 14:49 #8
Ok tak for forslaget, men den blå markering forbliver stadig, selv om fokuset (en lille stiplet grå ramme flyttes).

Det er super, at den grå ramme flyttes, men den blå markering skal gerne helt væk fra den dropdown-menu, som har klikket i. Kan det lade sig gøre?
Avatar billede gryn Nybegynder
26. maj 2002 - 15:08 #9
Det gør den hos mig... et øjeblik. Jeg kigger lige på det.
Avatar billede gryn Nybegynder
26. maj 2002 - 15:14 #10
Det du har dig der, er da ikke dropdownboxe... !?
Avatar billede lightbrain Nybegynder
26. maj 2002 - 15:41 #11
Jo, jeg vælger et punkt i en dropdown-menu (<select>) og klikker på en knap, for at flytte et menu-punkt fra den ene menu til anden. Dette funger fint også med fokus (den grå stiplede linie), men som sagt ikke med den blå markering - som jeg dog ikke ved hvad hedder.

Prøv evt. min kode:

<html>
<head>
<script>

function flyt(form,vej) {

        sel1 = (vej == 0) ? form.artikel : form.ikkePlaceret;
        sel2 = (vej == 0) ? form.ikkePlaceret : form.artikel;
        ind = sel1.selectedIndex;
        sel2.options.length += 1;
        sel2.options[sel2.options.length - 1].text = sel1.options[ind].text;
        sel2.options[sel2.options.length - 1].value = sel1.options[ind].value;
        sel1.options[ind] = null;
       
}

function Fokus (form, element){

    if (document.forms[form].elements[element].name == "inde") {
        document.forms[form].Ud.disabled = false;
        document.forms[form].Ind.disabled = true;
    }

    if (document.forms[form].elements[element].name == "ude") {
        document.forms[form].Ud.disabled = true;
        document.forms[form].Ind.disabled = false;
    }
}

</script>
</head>
<body>


        <select name="inde" onClick="self.CheckFocus('0', 'inde');" size=3>       
        </select><p>
          <input type='button' value='    Ind  ' onclick='flyt(this.form)' name="Ind"><input type='button' value='  Ud  ' onClick='flyt(this.form,0)' name="Ud">
        </p>
        <p>


        <select name="ude" size=3 onClick="self.CheckFocus('0', 'ude');">
        </select></p>
</body>
</html>
Avatar billede gryn Nybegynder
26. maj 2002 - 16:14 #12
Jeg får bare script-fejl
Avatar billede lightbrain Nybegynder
26. maj 2002 - 16:32 #13
Ja, det har du ret i - det må du undskylde. Jeg kan ikke rette fejlen, da jeg ikke ved, hvad den går ud på. Men det er også lige meget, for det var ikke det, som jeg oprettede at spørgsmål for at finde ud af.

Hvis nu jeg skriver følgende forenklede kode, hvordan kan du så få både den blå markering + den fokus (den grå stiplede markering) til at flytte sig over til den dropdown-menu, som brugeren har valgt?

<html>
<head>

</head>
<body>

        <select name="inde" size=3>       
        <option>Test 1</option>
        <option>Test 2</option>
        </select><p>

        <select name="ude" size=3>
        <option>Test 3</option>
        </select></p>
</body>
</html>
Avatar billede gryn Nybegynder
26. maj 2002 - 17:00 #14
Nu er jeg HELT med :-)

Jeg ser lige på sagen
Avatar billede gryn Nybegynder
26. maj 2002 - 17:15 #15
Jeg skal ud og spise, så jeg kan først se på det igen i aften. Det er en lidt sværere opgave, end forventet.
Avatar billede lightbrain Nybegynder
26. maj 2002 - 17:16 #16
Ok, det er bare super :)
Avatar billede gryn Nybegynder
26. maj 2002 - 19:42 #17
Med dette lille script kan kun én af boxene have en valgt option:

<html>
<head>

</head>
<body>

<script type="text/javascript">
function lukinde()
{
document.formnavn.inde.selectedIndex = -1
}
function lukude()
{
document.formnavn.ude.selectedIndex = -1;
}
</script>
<form name="formnavn">
        <select name="inde" size=3 onfocus="lukude()">       
        <option>Test 1</option>
        <option>Test 2</option>
        </select><p>

        <select name="ude" size=3 onfocus="lukinde()">
        <option>Test 3</option>
        </select></p>

</form>

</body>
</html>


Håber, det kan hjælpe dig.
Avatar billede lightbrain Nybegynder
26. maj 2002 - 19:48 #18
Jammen det' jo så smukt! :-)

Mange tak for hjælpen :-)
Avatar billede gryn Nybegynder
26. maj 2002 - 19:49 #19
Jamen tak for points da!
:-)
Avatar billede lightbrain Nybegynder
26. maj 2002 - 20:22 #20
Hvis du er sej, så knækker du også lige den her ;-)
http://www.eksperten.dk/spm/216422
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