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?
Annonceindlæg fra Deloitte
onclick="this.blur()" skal stå i den linie, der aktiverer scriptet. f.eks. <a href="#" onclick="dropdownFunktionen();this.blur;">MENU</a>
undskyld f.eks. <a href="#" onclick="dropdownFunktionen();this.blur();">MENU</a>
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?
ahh... sådan en... må jeg se siden, det drejer sig om. Eller bare koden.
<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>
Det kan gøres på en lettere måde
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>
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?
Det gør den hos mig... et øjeblik. Jeg kigger lige på det.
Det du har dig der, er da ikke dropdownboxe... !?
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>
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>
Nu er jeg HELT med :-) Jeg ser lige på sagen
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.
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.
Jammen det' jo så smukt! :-) Mange tak for hjælpen :-)
Jamen tak for points da! :-)
Vi tilbyder markedets bedste kurser inden for webudvikling