Avatar billede tzag_dk Nybegynder
08. marts 2004 - 14:24 Der er 25 kommentarer og
1 løsning

Hvorfor virker dette ikke

Hej

Jeg har dette stykke kode:

<script>
<%if session("FoundUsername") <> "0" then%>
window.open('fejl.asp?fejl=25','popup','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
<%end if%>
</script>

Hvorfor virker det det ikke, når det her virker:

<script>
<%if Session("location") = "" then%>
    top.location.href = '/profil/'
<%else%>
    top.location.href = '<%=Session("location")%>'
<%end if%>
</script>


På forhånd tak!

// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 14:35 #1
du fortæller ikke hvad der sker - altså om det bare ikke virker, om der kommer en ASP-fejl eller måske en javascript-fejl?

umiddelbart vil jeg mene det er måske er fordi du mener session("FoundUsername") skal være forskellig 0 og ikke "0"
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 14:40 #2
Den kommer ikke med en fejl.
Jeg har lavet en response.write på session("FoundUsername"), og den skriver fint variablen ud.
Den eksekver bare ikke dette:

<script>
<%if session("FoundUsername") <> "0" then%>
window.open('fejl.asp?fejl=25','popup','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
<%end if%>
</script>


// Rene
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 14:43 #3
Det bliver heller ikke anderledes med kun 0 i stedet for "0"

// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 14:47 #4
har du evt et sted man kan se det online?
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 14:49 #5
Avatar billede keysersoze Ekspert
08. marts 2004 - 14:59 #6
hvad skal jeg gøre for at fremprovokere "fejlen"?
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 15:02 #7
Du skal udfylde alle felterne, og i E-mail skal du bruge denne e-mail: rene@tzag.dk

Den findes i db i forvejen, og derfor skulle der gerne komme en popup
Avatar billede keysersoze Ekspert
08. marts 2004 - 15:18 #8
så vidt jeg kan se så virker det også - men den ASP if-sætning ser det ud som om du har skrevet inde i din validering() og da validering() ikke bliver kaldt ved body onload så sker der ingenting

sætter du if-sætningen og dermed javascriptfunktionen uden for validering() så burde det virke
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 15:34 #9
Det virker heller ikke... :-(
Den kommer bare ikke vidre der fra...

// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 15:39 #10
lige nu submitter den slet ikke når man klikker og der ingen fejl er - prøv at lade være med at fjerne

if(error == 0)
document.forms[0].submit();
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 15:42 #11
sådan, men den "æøre" stadigvæk uden om den if sætning.
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 15:43 #12
"æøre" = "køre"
Avatar billede keysersoze Ekspert
08. marts 2004 - 15:49 #13
Det er fordi der kommer en javascript-fejl...

først skal du fjerne

return;

Dernæst kan du ikke skrive

document.forms[0].username.focus();

lige nedenunder da formen ikke er dannet på det tidspunkt du forsøger at give den focus - så enten skal du kalde det som en onload-funktion eller også skal du sætte det nederst på siden
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 15:55 #14
ok... den kommer fint op med popup vinduet nu, med hvis du kikker ude på siden igen, så udskriver den også min sql string for tidlig :-(

Ved du også hvordan dette kan rettes? :-)


// Rene
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 16:05 #15
kan det ikke lade sig gøre at få den ind under: function validering()

// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 16:25 #16
men din sql skal vel slet ikke udskrives eller?
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 16:32 #17
Jeg har bare lavet en response.write(sql) for at se det i stedet for at Execute den mens at jeg tester.

Og så for at kontroller at mine form´s er udfyldt rigtigt, bruger jeg javascript til det.

Og før at en bruger oprettes, må e-mail ikke findes i db.

Og når så det hele er ok, så skal den "køre" min sql string.

Er du med på det nu, eller? :-) hehe


// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 16:40 #18
ja - men hvorfor mener du så at den udskrives for tidligt?
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 16:41 #19
Det er fordi at den skriver den ud når jeg kontroller om e-mail adressen findes i databasen...
Avatar billede keysersoze Ekspert
08. marts 2004 - 16:57 #20
ja?
Avatar billede keysersoze Ekspert
08. marts 2004 - 17:04 #21
altså - umiddelbart har det jo ikke noget med dit spørgsmål at gøre og når man samtidig ikke ved hvad der er rigtigt eller forkert er det svært at hjælpe... så du må forklare det liiidt bedre

at der så ikke er noget kode man kan gå ud fra gør det heller ikke bedre
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 17:05 #22
den skal ikke indsætte noget i databasen hvis e-mail´en findes i forvejen
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 17:06 #23
Avatar billede keysersoze Ekspert
08. marts 2004 - 17:08 #24
igen - jeg kan kun gætte... men umiddelbart vil jeg mene du må lave en if-else sætning hvis du vil fortælle, at "if emailen eksisterer" så kom med popup "else" insert into db
Avatar billede tzag_dk Nybegynder
08. marts 2004 - 17:14 #25
Det er jo også det jeg har forsøgt gennem hele spørgsmålet :-)
Men kan if sætningen ikke komme ind under: function validering() i selve javascript funktionen?

// Rene
Avatar billede keysersoze Ekspert
08. marts 2004 - 17:59 #26
det kan den sagtens - men så bliver du nødt til at kalde validering() når siden loader igen samtidig med at du skal være sikker på den ikke kaldes første gang man går ind på siden.
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