Avatar billede Simon Praktikant
05. januar 2007 - 11:05 Der er 4 kommentarer og
2 løsninger

Tjekke om DropDownList er åben

Hvordan kan man med javascript afgøre om en DropDownList er åben, dvs. rullet ud af brugeren, eller ej?

DropDownList'en får ejg fat i således:
liste = document.getElementById("ddl_minListe");

Det er fordi min side reloades automatisk med et javascript hver 20 sekunder. Jeg vil undgå at siden reloades hvis brugeren lige er igang med at vælge noget i DropDownListen.
Avatar billede loevgaard Praktikant
05. januar 2007 - 15:33 #1
<select id="ddl_minListe" onfocus="stop timer" onblur="start timer igen"></select>
Avatar billede Simon Praktikant
05. januar 2007 - 19:13 #2
Vil du ikke lige uddybe lidt?
Avatar billede madeindk Nybegynder
05. januar 2007 - 19:22 #3
Jeg har lavet dette til dig - er ret sikker på den virker ;-)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<script type="text/javascript">

function startRefresh() {
    alert('startet igen');
}

function stopRefresh() {
    alert('stoppet');
    setTimeout("startRefresh()",5000)
}

</script>

<body onLoad="startRefresh();">

<select id="ddl_minListe" onFocus="stopRefresh();" onblur="startRefresh();"><option>Bombom</option></select>

</body>
</html>
Avatar billede madeindk Nybegynder
05. januar 2007 - 19:23 #4
Hov, der var jeg da helt gal på den :-)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<script type="text/javascript">

function startRefresh() {
    alert('startet igen');
    setTimeout("startRefresh()",5000)
}

function stopRefresh() {
    alert('stoppet');
}

</script>

<body onLoad="startRefresh();">

<select id="ddl_minListe" onFocus="stopRefresh();" onblur="startRefresh();"><option>Bombom</option></select>

</body>
</html>
Avatar billede madeindk Nybegynder
05. januar 2007 - 19:37 #5
Har lige lavet det lidt om - er ikke sikker på det er den rigtige måde at lave det på.

<script type="text/javascript">

function refreshMe(action) {
  if (action == 'start') {
    setTimeout("self.location.replace('refresh.asp')",2000);
  }
  else
  {
    alert('Funktionen er stoppet!');
  }
}

</script>

<select id="ddl_minListe" onFocus="refreshMe('stop');" onblur="refreshMe('start');"><option>Bombom</option><option>Bombom</option><option>Bombom</option><option>Bombom</option></select>
Avatar billede Simon Praktikant
10. januar 2007 - 11:46 #6
Tak for hjælpen til jer begge to:
For at sætte onBlur, og onFocus fra ASP har jeg gjort således:
ddl_minListe.Attributes.Add("onBlur", "state='closed'");
ddl_minListe.Attributes.Add("onFocus", "state='open'");

og så chekker jeg op på state i javascriptet

Det skal også lige nævnes at 'state' er blevet oprettet som global variabel i javascript koden.
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

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