Avatar billede dkgustav Nybegynder
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.
Avatar billede jakoba Nybegynder
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
Avatar billede dkgustav Nybegynder
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>
Avatar billede dkgustav Nybegynder
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...)?
Avatar billede jakoba Nybegynder
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.
Avatar billede dkgustav Nybegynder
12. december 2003 - 07:26 #5
Ok - jeg går ud fra at man skal lave det samme med showSelects()?

Jeg forsøger at rode lidt med det senere (har ikke tid nu).

Tak for kommentarerne :o)
Avatar billede jakoba Nybegynder
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.
Avatar billede dkgustav Nybegynder
13. december 2003 - 15:13 #7
Lukket
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
Kurser inden for grundlæggende programmering

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