12. december 2003 - 06:48
Der er
6 kommentarer og
1 løsning
Dropdown-menu skjult af input felt
Hej.
Jeg har en almindelig formular (formmail) og en dropdown-menu i toppen af siden. Problemet er at feltet fra formularen ligger over min dropdown-menu. Kan jeg få dropdown-menuen til at ligge øverst, og hvordan gøres det?
Håber nogen kan hjælpe.
12. december 2003 - 07:04
#1
Ja og nej.
I de nyeste versioner af IE kan du lave lag der ligger 'højere' end de fleste form-felter, men endny er der ingen måde at få noget til at ligge højere end et select felt (dropdown boks) de ligger altid ovenover alt andet og er dermed altid synlige.
Den bedste løsning er at designe siden så der aldrig kommer et lag henover feltets område.
Hvis det ikke er muligt kan du evt bruge CSS og give feltet display:none samtidig med at laget vises og skifte tilbage til display:block når laget fjernes igen. det er klumret da du så må sørge for at designet ikke 'trækker sig sammen' omd det forsvundne felt, og hvis noget af feltet rager udover kanten af dit lag kan brugeren undre sig over hvorfor det forsvinder.
Flash-områder i siden har samme problem.
mvh JakobA
12. december 2003 - 07:06
#2
Lige lidt kode (det er uddrag)...
Dropdown-menuen:
<script language="JavaScript" type="text/JavaScript">
<!--
function mmLoadMenus() {
if (window.mm_menu_0909144755_0) return;
window.mm_menu_0909144755_0 = new Menu("root",99,16,"Verdana",10,"#0000FF","#FFFFFF","#FFFFFF","#0000FF","left","middle",3,0,300,-5,7,true,true,true,0,false,true);
mm_menu_0909144755_0.addMenuItem("Menupunkt");
osv.
Knappen, hvor der skal "droppes" fra:
<a href="java script:;" onMouseOver="MM_showMenu(window.mm_menu_0910003620_0,0,16,null,'image3');MM_swapImage('image3','','billede.gif',1);" onMouseOut="MM_startTimeout();MM_swapImgRestore();">
Formularfeltet:
<select name="recipient">
<option value="mail@mail.dk" selected>Modtagernavn</option>
</select>
12. december 2003 - 07:09
#3
Du kom mig lidt i forkøbet :o)
Jeg har oplevet det med flash også, men det blev løst.
Jeg har læst nogle andre indlæg, hvor der bruges hideSelects() - kan det fungerer (det er ikke lykkedes for mig endnu...)?
12. december 2003 - 07:21
#4
det kan lykkes. funktionen hideSelects() er en javascript funktion du selv skriver, enten med en parameter om der skal skjules eller vises, eller også med en anden funktion showSelects() til at vise lagene igen. Typisk bliver de lavet så de gemmer ALLE selects på siden, også dem der aldrig kommer et lag henover.
fx:
function hideSelects() {
var df = document.forms;
for (var i=0; i<df.length; i++ ) { // for all forms in this page
var dfe = df[i].elements;
for (var j=0; j<dfe.length; j++ ) { // for all fields in the form
if ( dfe[j].type.substr(0,6) == "select" ) {
// this is a select field to be hidden
dfe[j].style.display = "none";
}
}
}
}// endfunction
or something like that.
12. december 2003 - 07:32
#6
pas forresten på med href="java script:;" nogen brovsere vil unloade siden hvis du klikker på sådan et link. det er sikrere at skrive:
<a href="" onclick="return false;" ...
så sker der garanteret ingenting hvis der bliver klikket.