Avatar billede tallens Nybegynder
19. juni 2003 - 15:00 Der er 15 kommentarer og
1 løsning

Submit uden OnClose

Hej Folkens jeg har et mindre problem.

Jeg har et mindre problem med at få popup til at Submit når der er en OnCLose condition i dens Body.

Min OnClose gør at når folk lukker vinduet skal den, igen poppe up igen, men hvis folk tykker på Submit så skal den over på en "modtager side" som kigger informationerne i gennem inden den smider det i en database.

Problemet opstå jo selvsagt når at man trykker på submit, så læser den OnClose først og så eksekvere den Form'en bagefter (eller rettere den når den ikke)

kan man lave den sådan at den kan se at "hov nu trykker personen på submit nu skal jeg ikke lave en OnClose i stedet?!

Vh Tallens
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:08 #1
Den funktion du leder efter hedder IKKE OnClose, men derimod OnUnload :)

-Mads
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:09 #2
Ups, læste ikke hele spg'et min fejl. Laver det rigtige svar nu *g*
Avatar billede grunken Nybegynder
19. juni 2003 - 15:11 #3
er meningen så at den skal lukke vinduet efter der er blevet submittet ?
Avatar billede tallens Nybegynder
19. juni 2003 - 15:13 #4
DE
Avatar billede roenving Novice
19. juni 2003 - 15:17 #5
Popper du en side op, som skal bruges til submit ?-)

-- og hvis den så lukkes uden submit, skal den alligevel submitte og trykker man på submit, skal den lukke bagefter ?o]
Avatar billede tallens Nybegynder
19. juni 2003 - 15:17 #6
nej...

Hvis jeg trykker på det lille grimme kryds skal den køre en onClose='windows.href=link.asp'

men hvis jeg køre den på en submit skal den ignorere onclose og i stedet bare følge formen's henvisning til "validere.asp" siden.

problemer er jo som sagt så snart jeg trykker på Submit så starter den foroven og køre ned til <body onClose=etc.... og så banker den mig bare ud unden at den når til "validere.asp" siden.

(gav det mere mening?)
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:24 #7
<html>
<head>
<script>
var submited;

function closesite(){
    if ( submited!=1)
    {
        alert('lort!!');
    }
}
</script>
</head>
<body onUnload="closesite();"">

<form onSubmit="submited=1;" action="test.htm">
<input type="text">
<input type="submit">
</form>

</body>
</html>
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:24 #8
Det skulle så være et svar :)
Avatar billede tallens Nybegynder
19. juni 2003 - 15:25 #9
Roeving, hehe tæt på... bare omvendt.

Der er reelt 3 sider.

Side #1 : popup.asp

når denne åbnes op er der en submit og en masse blur/focus javaScript til at holde øje med om om man har focus på side eller ej.

hvis man forlader popup.asp lukker den siden ned efter 60 sek. (uden at vende tilbage). og går hen på en side som hedder "lukned.asp"

hvis man trykker på kryset er der en onClose som smutter hen på "lukned.asp"

I <form> er der en "..action=submit.asp" når jeg trykker på submit knappen skal den over på submit. siden med de informationer fra popup.asp

men!

når jeg trykker på submit så lukker den siden ned ved at køre en onClose med ref, til lukNed.asp i stedet, og der sker intet (andet end at man har skrevet forgæves og at popup'en kommer igen.

så er det vist også rigtig beskrevet denne gang (undskyld mit kryptiske ordvalg =)

/tallens'out
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:25 #10
Hvor "alert('lort!!');" er lig med den 'kommando' der skal afvikles når brugeren lukker popupen :)
Avatar billede roenving Novice
19. juni 2003 - 15:26 #11
onClose kan jeg heller ikke finde ...
-- men en submit skal kun omfatte formen, hvorefter den skal gøre det, som står i action (i dit tilfælde kalde validere.asp - som vel så laver en redirect ,-)

onunload er svær at få til at fungere, for den lever kun så længe vinduet faktisk er der, så ofte kan den ikke nå at udføre noget ...

Men hvis du vil undgå, at den aktion køres ved submit kan du:


<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
var ok = true;
</SCRIPT>
</HEAD>

<BODY ONUNLOAD="if(ok)window.location='link.asp';">
<BR>
<FORM ID="minForm" NAME="minForm" onsubmit="ok=false;">
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:26 #12
roenving, det du har skrevet gør jo det samme som mit?
Avatar billede roenving Novice
19. juni 2003 - 15:29 #13
Skulle da ikke undre mig, men jeg var jo ikke synsk, så jeg vidste ikke at du var igang ;O)
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:30 #14
Hehe, truth :)
Avatar billede zuiq Nybegynder
19. juni 2003 - 15:31 #15
Der var lige en lille fejl, hvor jeg var kommet til at putte 2 "'er ind :):

<html>
<head>
<script>
var submited;

function closesite(){
    if ( submited!=1)
    {
        alert('lort!!');
    }
}
</script>
</head>
<body onUnload="closesite();">

<form onSubmit="submited=1;" action="test.htm">
<input type="text">
<input type="submit">
</form>

</body>
</html>
Avatar billede tallens Nybegynder
19. juni 2003 - 15:35 #16
hehe.. ah... jeg tror sgu det virker...! takker begge to... jeg snupper din løsning Zuiq selv om Roenving's ser mere fancy ud, håber det går Roenving?.

Kan i begge ha' en forsat god uge, og weekend når i kommer så langt.

/Tallens'out
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