Avatar billede gulars Nybegynder
13. februar 2006 - 16:05 Der er 3 kommentarer

submit form - forhindre spørgsmål om refreshing av side

Hei,

Først vil jeg sige at jeg er norsk, men jeg håber at dere kan forstå meg likevel :)

Jeg har en side med en form, hvor brugeren kan oppgive antall av et produkt som han ønsker at bestille. Brugeren har også mulighet for at klikke på en link som får et pop-up vindu til at "poppe opp". I dette vinduet kan brukeren gjøre noen endringer på produktet, og lagre endringene. Når brukeren velger at lagre disse endringene i pop-up vinduet, lagres endringene i databasen, og hovedvinduet reloades for å vise den oppdaterte informasjonen.

Problemet mitt var at hovedvinduet har mange inputbokser hvor brukeren kan sette inn tall (antall av forskellige produkter), og hvis han skrev et tall i for eksempel 4 av disse inputboksene, så "forsvinder" disse tallene når pop-up vinduet reloader dette hovedvinduet etter at have lagret sine endringer. Dette har jeg løst ved at bruge javascriptkode med en gang jeg åbner pop-up vinduet, som setter verdien i en form variabel i hovedvinduets form til 1, og submitter formen i hovedvinduet. Det som da hender er at antall informasjonen lagres i databasen.

Når bruger klikker på linken som får pop-up vinduet til å "poppe opp" så lagres altså informasjonen i hovedvinduets form i databasen før pop-up er ferdig at åbnes. Et nytt problem oppstår når jeg er ferdig med mit arbeide i pop-up vinduet, og lukker dette. Da er jeg tilbage i hovedvinduet, og kan submitte formen for at gå videre til neste side. Da får jeg nemlig op et vindu fra browseren om at "Siden kan ikke oppdateres uten at sende informasjonen på nytt. Klikk send på nytt for at sende på nytt, eller avbryt for at ... osv".

Vet noen om en måte at forhindre at denne dialogboksen kommer frem? Det virker veldig uprofesjonelt i forhold til bruger. Jeg vet at det måske er umulig, eftersom dette er funksjonalitet som ligger innebygget i browseren.

(håber dere forstod mitt spørgsmål)
Avatar billede nythjem Nybegynder
14. februar 2006 - 13:19 #1
Hej Gulars.

Når du fra "Side A" går til "Side B" ved hjælp af submit vil du altid møde "Dialog boksen".

Skulle du ikke overveje følgende struktur:

-> Basket (Her kan du redigere i ordren)
-> Payment (Her kan du ikke længere redigere)

Det virker som om at du giver bruger mulighed for at redigere meget i ordren, måske for meget.
Avatar billede gulars Nybegynder
15. februar 2006 - 00:01 #2
Hej nythjem, og tak for svar.

Jeg fant ut av hva som fikk dialog boksen til at dukke opp. Det viser seg at det var noe javascriptkode som kalte window.opener.reload(), som er det samme som at trykke refresh knappen, eller F5. Når en form allerede er postet på den siden som refreshes, så får man frem denne dialogboksen med spørgsmålet. Jeg endret bare koden til at submitte formen istedenfor at refreshe siden, og nå virker alt som det skal.

Ja, jeg vet at det er blivet litt for meget på disse sidene, men jeg har ikke tid til at lave om på denne strukturen nå :) Men tak allikevel for ditt svar.
Avatar billede nythjem Nybegynder
15. februar 2006 - 09:32 #3
Velbekomme Gulars.. :) Og rigtig god dag..
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