Avatar billede andersdp Nybegynder
06. august 2003 - 11:48 Der er 23 kommentarer og
2 løsninger

Problemer med onblur=self.focus

Hey.

Jeg har problemer med et popup vindue, jeg vil holde i fokus så brugeren ikke kan benytte det bagvedliggende vindue imens.

Jeg bruger dette i mit popup vindue:
<body onblur="self.focus();">

Popup vinduet indeholder en form med indtastningsfelter, men med ovenstående kode kan man ikke taste i felterne - nærmest som om keyboardet er deaktiveret...

Nogen der kan hjælpe - evt. med en anden metode til at holde kun ét vindue i fokus?
Avatar billede jytte Nybegynder
06. august 2003 - 11:53 #1
Måske

<body onload="focus();>
Avatar billede jytte Nybegynder
06. august 2003 - 11:54 #2
<body onload="focus();">
Avatar billede grunken Nybegynder
06. august 2003 - 11:56 #3
nope Jytte :), den vil jo kun smide vinduet i focus en gang
Avatar billede andersdp Nybegynder
06. august 2003 - 11:57 #4
Nope, den holder ikke vinduet i fokus...
Avatar billede mm12010 Nybegynder
06. august 2003 - 12:02 #5
prøv at tilføje dette til det vindue der åbner popupen:

function tjeckVindue()
  if(!popup_navn.closed){
    popup_navn.focus();
    }
  }
<body onLoad="tjeckVindue();">
Avatar billede grunken Nybegynder
06. august 2003 - 12:03 #6
jeg syns nu det lyder underligt at tastaturet staller fuldstændigt hvad hvis du prøver at smide dette ind i din header

<script type="text/javascript">
window.onblur = window.focus()
</script>
Avatar billede mm12010 Nybegynder
06. august 2003 - 12:03 #7
<body onFocus="tjeckVindue();">
Avatar billede mm12010 Nybegynder
06. august 2003 - 12:07 #8
grunken >> hvad så hvis brugeren vil bruge en anden hjemmeside?
Avatar billede jytte Nybegynder
06. august 2003 - 12:08 #9
sorry!
Avatar billede andersdp Nybegynder
06. august 2003 - 12:11 #10
Sidder lige og roder med det.

mm12010> Det skal bruges til et internt adm system, så det er ikke væsentligt om andre sider kan besøges samtidig.
Avatar billede grunken Nybegynder
06. august 2003 - 12:13 #11
>mm

gir dig helt ret :)

men spørgsmålet lød jo at fastlåse vinduet under en given indtastning!, og og det burde min gøre, derudover må jeg jo indrømme din er ganske smart ;)
Avatar billede andersdp Nybegynder
06. august 2003 - 12:39 #12
Hmm, det spiller ikke rigtig.

grunken> Din kunne jeg ikke få til at virke.

Jeg får en script fejl på dette:

<script language="JavaScript" type="text/JavaScript">
function popupstatus()
  if(!popup.closed)
  {
    popup.focus();
  }
</script>
</head>
<body onFocus="popupstatus();">

Hvad skyldes det?
Avatar billede andersdp Nybegynder
06. august 2003 - 12:42 #13
Jeg kalder forresten min popup fra en frame, hvis det har betydning...
Avatar billede mm12010 Nybegynder
06. august 2003 - 12:42 #14
hvilken fejl?

hvordan åbner du din popup?
Avatar billede roenving Novice
06. august 2003 - 12:47 #15
Brug ikke popup, som er et IE-objekt som navn på nogetsomhelst !-)

Du skal åbne dit vindue med:

<script osv...........>
var newWin = null;

function openWin(){//eller hvad du nu kalder den
newWin = window.open(..............og så videre

-- og så:

function popupstatus()
  if(!newWin.closed)
  {
    newWin.focus();
  }
Avatar billede andersdp Nybegynder
06. august 2003 - 12:59 #16
Ok, popup er væk :)
Men det virker stadig ikke.

Jeg bruger det script som dreamweaver genererer til at åbne vinduet.
<script language="JavaScript" type="text/JavaScript">
function openBrWindow(theURL,winName,features)
{
  window.open(theURL,winName,features);
}
</script>

Er der noget galt med det?
Avatar billede mm12010 Nybegynder
06. august 2003 - 13:03 #17
hvilken fejl får du?
Avatar billede roenving Novice
06. august 2003 - 13:19 #18
>>andersdp

Ja, du kan _ikke_ nøjes med Dreamweaver-scriptet, for du kan ikke få fat i popup'en, hvis du ikke opretter et objekt til at referere til vinduet, derfor min kode ovenstående !-)

-- så Dreamweaver-koden skal laves om til:

<script language="JavaScript" type="text/JavaScript">
var newWin = null;
function openBrWindow(theURL,winName,features)
{
  newWin = window.open(theURL,winName,features);
}
</script>
Avatar billede andersdp Nybegynder
06. august 2003 - 13:57 #19
Yeeeeeeees!
Så spiller det.

Med følgende kode:
<script language="JavaScript" type="text/JavaScript">
var newWin = null;
function openBrWindow(theURL,winName,features)
{
  newWin = window.open(theURL,winName,features);
}

function popupstatus()
{
  if(!newWin.closed)
  {
    newWin.focus();
  }
}
</script>
</head>
<body onFocus="popupstatus();">

Tak for forsøget/hjælpen alle..

>>roenving - du havde løsningen, smid et svar.
Avatar billede roenving Novice
06. august 2003 - 14:44 #20
-- såvidt jeg kan registrere må jeg vist dele æren (_og_ pointene !-) med mm12010, som jo gav dig koden til popupstatus() ,-)

-- men ellers velbekomme '-)
Avatar billede mm12010 Nybegynder
06. august 2003 - 14:46 #21
takker - du er altid så fair :o)
Avatar billede roenving Novice
06. august 2003 - 14:47 #22
;O)
Avatar billede andersdp Nybegynder
06. august 2003 - 14:47 #23
Ja, det er vist rigtigt.
Så skal vi bare lige have mm12010 til at svare...
Avatar billede andersdp Nybegynder
06. august 2003 - 14:48 #24
Sådan :o)
Avatar billede roenving Novice
06. august 2003 - 14:53 #25
-- og tak for points ;~}
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