Avatar billede subscorpio Nybegynder
26. januar 2009 - 22:04 Der er 7 kommentarer og
1 løsning

Popup window smider focus i en input-flet i en side med frames.

Kære alle eksperter,

Jeg har en side der består af 3 frames: top, menu, indhold

I menu framen har jeg lavet en:
<form action="soeg.asp" method="post" target="Soeg" onsubmit="popup('','Soeg');" style="margin:0px;">
<input type="text" name="Soegeord"><input type="submit" value="Søg"></form>

I soeg.asp, mangler jeg så et JavaScript, der gør 3 ting:
1: alert('Søgningen gav intet resultat!');
2: window.close();
3: Foucus(makøren) tilbage til inputen Soegeord, i framen Soeg, hvis muligt skal vakøren være bag ens søgeord.

Jeg mangler altså bare den rigtige ”kode” for punkt 3.
Avatar billede subscorpio Nybegynder
26. januar 2009 - 22:25 #1
Rettelse!!!
I stedet for at smide en Alert op, så skal jeg bare have forsinket resten af koden med 1 sekund.
Så skriver jeg bare ind med tekst at der intet søgeresultat var.
På den måde slipper man for at man konstant skal klikke ”OK” hvis man intet søgeresultat får.

Sorry besværet.
Avatar billede KLS Novice
26. januar 2009 - 22:25 #2
Formen skal have et navn.
<form name="s_form" ......>
så skal den når den er færdig med det andet lave en
document.s_form.soegeord.focus()
Avatar billede KLS Novice
26. januar 2009 - 22:29 #3
oki

<script ........ >

istedet for alert :
<!--
var secs
var timerID = null
var timerRunning = false
var delay = 1000

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 10
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}
//-->
Avatar billede KLS Novice
26. januar 2009 - 22:29 #4
StopTheClock er her du så vender tilbage til dit udgangspunkt.
evt. med document.s_form.soegeord.focus()
Avatar billede subscorpio Nybegynder
26. januar 2009 - 22:36 #5
Okay fedt nok, jeg prøver lige at se på det, i mellemtiden har jeg lavet denne her:
Fandt nemlig selv ud af at jeg havde glemt at kalde Formen et navn ... den fik navnet "Soeg"

    <script type="text/JavaScript">
    window.onload = function() {
    setTimeout('opener.document.Soeg.Soegeord.focus()',1000);
    }
    </script>
Avatar billede KLS Novice
26. januar 2009 - 22:38 #6
smider et svar så du kan smide point hvis du har lyst.
Avatar billede subscorpio Nybegynder
26. januar 2009 - 22:39 #7
Du får dem fordi det er et lækkert script du der har vist mig - men lige denne løsning, benytter jeg mit eget ;)
Avatar billede KLS Novice
26. januar 2009 - 22:41 #8
Det er bare iorden :) inspiration er jo altid godt :)
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