Avatar billede loopstudio Nybegynder
11. september 2003 - 21:18 Der er 16 kommentarer

Hvordan bevares FORM'ens data?

Hej, jeg vil gerne lave følgende scenarie i HTML/ASP/java script:

Program 1:
Indeholder en FORM med felter
Ved klik på SUBMIT-knappen kaldes program 2.

Program 2:
Giver brugeren en valgmulighed for at GODKENDE eller FORTRYDE til et spørgsmål.
Ved tryk på GODKEND, kaldes Program 3.
Ved tryk på FORTRYD, annulleres og der hoppes tilbage til program 1.

Program 3:
Den oprindelige FORM i program 1's felter ønskes nu gemt i dette tredje program!

----

Hvordan kan man lave ovenstående scenarie?

Jeg har prøvet lidt af hvert, f.eks. vha. en response.redirect i program 2, samt at kopiere indholdes fra felterne i program 1 til skjulte felter i program 2, men uanset hvad, så når den skal til at kalde program 3, så siger browseren at programmet ikke kunne findes og der står tryk "opdater" eller check at siden eksisterer. MEN hvis jeg klikker "opdater" (F5) så viser den program 3! Også hvis jeg kopierer URL'en op i browserens adresse-felt, men værdierne kommer desværre så ikke med over til program 3.

Jeg har også prøvet Server.Transfer i program 2, DET virker jo idet at den kalder program 3 og program 3 vises rigtigt nok, MEN så kan jeg ikke vise mit spørgsmål til brugeren i program 2, som han skal svare med et GODKEND eller ANNULLER.

Nogle ideer?
Avatar billede erikjacobsen Ekspert
11. september 2003 - 21:23 #1
skjulte felter vil virke. Der er noget andet galt i det tilfælde
Avatar billede stringbuffer Nybegynder
11. september 2003 - 21:35 #2
Vis mig din kode for program 2.
Avatar billede loopstudio Nybegynder
11. september 2003 - 22:30 #3
Lad mig prøve at forklare det lidt mere enkelt.

Normalt har man 2 programmer til at behandle en FORM. Eet med selve FORM'en og eet til at hente værdierne fra felterne med efterfølgende.
Det jeg gerne vil er at indsætte et mellemprogram imellem disse 2 programmer og i dette mellemprogram vil jeg have brugeren til at godkende før program 3 kaldes.

Kan dette lade sig gøre? Og med hvilken teknologi?
Avatar billede erikjacobsen Ekspert
12. september 2003 - 06:03 #4
Skjulte felter.
Avatar billede stringbuffer Nybegynder
12. september 2003 - 18:19 #5
Ja, det kan godt lade sig gøre, det bliver i hvert fald tit gjort.
Du kan bruge sessionvariable, skjulte felter eller query strings.
Avatar billede roenving Novice
12. september 2003 - 23:16 #6
Du kan også lave det sådan, at du sætter to divs ind i din form, den første med alle dine input-felter og en knap med style="display:block;" fra starten ,-)

Den anden med to knapper: en submit-knap og en fortryd-knap og style="display:none;" fra starten !-)

I den første knap sætter du:

onclick="document.getElementById('foersteDiv').style.display='none';document.getElementById('andenDiv').style.display='block';"

I FORTRYD-knappen sætter du:

onclick="document.getElementById('foersteDiv').style.display='block';document.getElementById('andenDiv').style.display='none';"
Avatar billede roenving Novice
12. september 2003 - 23:17 #7
Det er sæ'fø'li' div'erne, som skal have den der style="" fra starten -- ikke nogen knapper !-)
Avatar billede stringbuffer Nybegynder
13. september 2003 - 09:26 #8
Ja, det kan være en udmærket løsning, så slipper man for at sende data til serveren 2 gange.
Avatar billede loopstudio Nybegynder
13. september 2003 - 14:39 #9
ok løsning *s* men jeg har brug for det ekstra program i midten. Jeg er i gang med at prøve noget med kopi af form-felterne i program 2 hvor jeg har sat dem skjulte.
MEN nu har jeg 2 problemer:
1) Hvordan skjuler jeg et INPUT FILE element? Jeg kan jo ikke bare sige HIDDEN!?
2) Selv om jeg på forhånd har sat VALUE-tag'et på INPUT FILE elementet, så viser den ikke noget i feltet i formen i program 2. Og i program 3 vil min Upload komponent fra Persits software ikke se værdien selv om VALUE-tag'et er udfyldt. Hvad kan jeg gøre?

På forhånd tak!
Avatar billede erikjacobsen Ekspert
13. september 2003 - 14:57 #10
Du kan ikke gøre med med input file - hvis du vil have en mellemstation,
skal du oploade fra side 1 til side 2, og hvis man ikke godkender bliver
du nødt til at slette filen igen.
Avatar billede loopstudio Nybegynder
13. september 2003 - 14:59 #11
Er det slet ikke muligt f.eks. via JavaScript at sætte værdien i INPUT FILE feltet således at det er synligt?
Avatar billede erikjacobsen Ekspert
13. september 2003 - 15:02 #12
nej
Avatar billede roenving Novice
13. september 2003 - 15:38 #13
Du kan da sagtens skjule en file-input med

style="visibility:hidden;"


-- og hvad skal du bruge den programmering i midten til, som du ikke kan gøre ved submit ?-)
Avatar billede loopstudio Nybegynder
13. september 2003 - 16:05 #14
Roenving: Det er fordi der skal foretages et andet check i program 2, før program 3 kaldes.

Men tak for visibility'en.. ;o)
Avatar billede roenving Novice
13. september 2003 - 19:49 #15
-- hvorfor kan du ikke bare starte med det check når du submitter formen for alvor ?-)
Avatar billede stringbuffer Nybegynder
13. september 2003 - 22:30 #16
Du kan IKKE bruge JavaScript til at sætte værdien i en FILE input. Dette er en sikkerhedsforanstaltning.
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