Avatar billede mskjoldp Novice
08. december 2004 - 05:22 Der er 5 kommentarer og
1 løsning

Kombiner onclick med onsubmit

Hej E

koder i asp til en access db på en IIS 5.0.

Jeg åbner et popup via et højreklik som indeholder fx en side til at redigere data. Når jeg submitter på <input type="submit"... har jeg brugt onclick="self.close()"... hvilket virker fint...

Men så vil jeg gerne kombinere dette med en confirm i <formen.. med onsubmit="return confirm"

Men jeg har prb med at få de to til at virke sammen... hvis onsubmit="blabla" virker, så virker onclick ikke...

hvordan får jeg begge funktioner til at virke?
Avatar billede olebole Juniormester
08. december 2004 - 05:55 #1
<ole>

At lukke vinduet på onclick er _yderst_ risky ... onclick-event'en fyres af, før formen submittes  :)

Normalt ville man skrive:
  <script type="text/JavaScript">window.close()</script>
i ASP-dokumentet - lige efter du har opdateret databasen, eller hvad du nu laver med de submittede data. Så er du stensikker på, opdateringen bliver udført.

Så vil du heller ikke have problemer med:
  <form ... onsubmit="return confitm('Vil du virkelig det?')">

/mvh
</bole>
Avatar billede mskjoldp Novice
08. december 2004 - 13:50 #2
det er fjong ole

Kan vi tilføje lidt ekstra?

Hvordan gøres confirm til en alert?

Nu går der ca. 1-2 sek hvor hovedsiden, venter på data, hvorfor hovedsiden er blank i 1-2 sek. Kan det ændres på nogen måde.. evt. med en procesbar, eller ligende.?

Smid bare et svar.. jeg er tilfreds med resultatet :)

/Skjold

PS er det muligt at udtrække data til return confirm(er du sikker på at du vil ændre fra "oprindelig data" til "nye data")?

Jeg kan fint sætte asp kode ind i confirm() som i alligevel bliver udtrukket til opdatersiden... men en kombination mellem gl. og nye data, hvordan?
Avatar billede olebole Juniormester
08. december 2004 - 21:55 #3
En confirm kan returnere true eller false (alt efter, hvilken knap, brugeren klikker på) - og dermed tillade eller forbyde submit, når værdien returneres i en onsubmit-handler: onsubmit="return confirm('Et spørgsmål?')". Derfor vil en alert naturligvis fungere anderledes ... ønsker du det?

For en anden spørger lavede jeg for nogen tid siden et eksempel med en animeret gif her:
  http://www.tjenester.dk/x-codes.dk/eksperten/anim_upload/
Bare upload en ordentlig mother-fucker af et billede ... det bliver slettet på serveren med det samme  ;o)

Eksemplet skifter en klar gif ud lige inden submit. Formen submittes mod en skjult iframe - det kunne lige så godt være en popup.
Når billedet er uploaded (og DB evt. er opdateret, m.m.) skriver man et lille script, der skifter giffen tilbage til den transparente. I din popup ville det kunne gøres med:

<script type="text/JavaScript">
opener.document.getElementById('DinGifsID').src = "myTransparentShit.gif";
window.close();
</script>

Håber, det hjælper dig lidt ... resten af koden burde du nok kunne hive ud af eksemplet - og ændre det til dit formål  :)

For at få data ind i en confirm, skal det enten skrives, inden dokumentet forlader serveren - eller også skal du forbi serveren og hente de nødvendige data. Når dokumentet forlader serveren, kan man ikke længere bruge ASP på siden ... det funker kun på serveren.
Avatar billede olebole Juniormester
08. december 2004 - 21:57 #4
PS: hvis du kan bruge min animerede processbar fra eksemplet (en kopi af den sædvanlige XP-bar), så bare snup den ... så slipper du da for selv at fægte med ImageReady  :)
Avatar billede mskjoldp Novice
09. december 2004 - 05:53 #5
den er i vinkel ole.. jeg kigger på linket og ser hvad jeg kan fikse... takker for hjælpen.. jeg skriver igen hvis jeg støder hoved mod muren :)

/Skjoldp
Avatar billede olebole Juniormester
09. december 2004 - 14:15 #6
Do that ... 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