Avatar billede saudoo Nybegynder
18. februar 2013 - 11:39 Der er 17 kommentarer og
1 løsning

Mister værdi i hiddenfield ved brug af browsers tilbage-knap

Hej eksperten,

Jeg har smidt mit spørgsmål i denne kategori, da jeg er bange for at der måske skal bruges noget javascript til at håndtere det.

Jeg står i den situation at jeg er ved at lave et mindre shoppingsystem for madbestilling.

I kan se det her på demo-shoppen:
http://demo.ilunch.dk/bestil-til-en-uge/

Hvis man bestiller en sandwich til f.eks. tirsdag klokken 10:40 trykker på "Videre"-knappen og så bruger browserens tilbageknap er indholdet gemt i hiddenfields (tilbehør og tid) tabt. I kan se værdierne blive tilføjet via developer tools eller firebug hvis I fokuserer på den div som på ugetabellen har det valgte produkt listet.

Ved I hvordan man kan undgå at disse bliver tabt ved brug af tilbage-knappen? Jeg sidder i Firefox som er nok brugt til at jeg ikke bare kan vende det blinde øje til. :-\
Avatar billede olebole Juniormester
18. februar 2013 - 12:00 #1
<ole>

Ja, sådan virker teknologien jo  =)

For at undgå den slags, må du ændre din applikationsstruktur - evt. ved at gemme data i en cookie i stedet for et hidden field

/mvh
</bole>
Avatar billede saudoo Nybegynder
18. februar 2013 - 12:05 #2
Hah, ja desværre havde jeg godt det lidt på fornemmeren. Kender du til noget, altså et script, (som et midlertidigt fiks) der kan håndtere min hiddenfields, ved at smide dem automatisk i cookies i visa versa?
Avatar billede saudoo Nybegynder
18. februar 2013 - 12:06 #3
Hov... det skulle ikke have været et svar. :-)
Avatar billede saudoo Nybegynder
18. februar 2013 - 12:18 #4
Okay... Nu har jeg lige for sjov prøvet at ændre mine hidden-fields til almindelige text-fields. Desværre er det med samme resultat.
Avatar billede saudoo Nybegynder
18. februar 2013 - 12:23 #5
... for tiden altså. Tilbehør som json bliver stadig husket.
Avatar billede olebole Juniormester
18. februar 2013 - 12:28 #6
#4: Ja, andet ville undre  =)

Hvad mener du med: "Tilbehør som json bliver stadig husket."
Avatar billede saudoo Nybegynder
18. februar 2013 - 12:37 #7
Nåja, jeg tænkte bare at det var hiddenfields den valgte at glemme. Jeg gemmer mine valg i string-format kodet som json, der senere bliver aflæst på serversiden. Det var som sådan det jeg mente med det.

Men det er stadig underligt at den vælger at huske indholdet (ved tilbageklik) på inputfelter med tilbehøret valgt. Det sker både i IE (8+), Firefox og Chrome. Input med valgt tid bliver stadig gemt i IE.
Avatar billede olebole Juniormester
18. februar 2013 - 13:11 #8
Undskyld, men jeg fatter nada af, hvad du skriver
Avatar billede saudoo Nybegynder
18. februar 2013 - 13:32 #9
Okay jeg prøve igen, nu med mad i maven:

På side 1:
Jeg har følgende:
1 checkbox
1 inputfelt med typen text
2 inputfelter med typen hidden.

Ved valg af mad krydser man checkboksen af, skriver antallet i inputfeltet med tekst samt tid i det ene hiddenfield og tilbehør i det andet.

Herefter trykker man på en input(type=image) der laver et postback til side2.

Hvis man, når man står på side2, vælger at trykke på tilbageknappen i browseren så bliver følgende gemt:

Værdien af ens checkbox
Værdien af min input med tekst
Værdien af mit hiddenfield med tilbehør

Værdien af hiddenfield med tid er tømt.

Det undrer mig!
Avatar billede saudoo Nybegynder
18. februar 2013 - 13:39 #10
Med gemt mener jeg naturligvis at inputfelterne stadig er udfyldte. :)
Avatar billede olebole Juniormester
18. februar 2013 - 15:05 #11
"Ved valg af mad krydser man checkboksen af, skriver antallet i inputfeltet med tekst samt tid i det ene hiddenfield og tilbehør i det andet."

Det ville jeg meget gerne se ske! Jeg kan være med på, at brugeren check'er checkbox'en og skriver et antal i et tekstfelt - men hvordan hun skulle kunne udfylde et hidden field, har jeg ikke fantasi til at forestille mig.

Hvis du har interesse i at finde en løsning, bør du nok forsøge at finde lysten frem til at fortælle, hvad der rent faktisk sker! Hvad udfylder dine hidden fields - hvornår og hvordan?
Avatar billede saudoo Nybegynder
18. februar 2013 - 15:41 #12
Ah! Jeg tænkte at du have set det link jeg vedlagde. Undskyld! Det foregår naturligvis ved hjælp af javascript, andet ville være underligt. :-)

Man gør sig nogle valg et sted og javascripten skriver de rette værdier til de forskellige felter et andet sted.


Hvert produkt i systemet får tildelt en checkboks, antalboks, hidden-tid og hidden-tilbehør. Alt efter om man har afkrydset og valgt et antal, har man lagt produktet i kurven.

Selve valget af mad foregår via en lightbox hvorfra man også vælger tilbehøret som bliver smidt ind i et hiddenfield, i et json-format. Tidspunktet bliver ligeledes valgt herfra, og bliver også puttet i et hiddenfield.


Jeg har absolut interesse i at finde en løsning, men er dog mere uheldig med at få mig formuleret korrekt. Tag det endelig ikke som et bevis på ladhed. ;)
Avatar billede olebole Juniormester
18. februar 2013 - 15:53 #13
På siden, du linker til, kan jeg ikke få lov at foretage mig noget somhelst. Den kyler om sig med jQuery-fejl på alle hylder
Avatar billede saudoo Nybegynder
18. februar 2013 - 15:56 #14
Av for den. Hvilken browser sidder du i? Har du tilfældigvis et skype-plugin installeret?
Avatar billede olebole Juniormester
18. februar 2013 - 16:56 #15
IE9 under Win7 Pro. Nej, jeg har ikke installeret Skype
Avatar billede saudoo Nybegynder
18. februar 2013 - 17:29 #16
Ah ja. Jeg kan se at fejlen ligger i validerings-scriptet. :\

Jeg har faktisk lavet en midlertidig løsning, hvor jeg smider alle hiddenfields indhold ind i sessions, som så kan indlæse fra, skulle brugere have lyst til at bevæge sig tilbage i historikken...

Så jeg siger tak for hjælpen. Jeg er bange for at jeg må ændre helt på strukturen, så det bliver ikke lige nu det sker. :-) Smid et svar!
Avatar billede olebole Juniormester
18. februar 2013 - 17:31 #17
Ellers tak, jeg samler ikke point. Du lægger bare selv et svar og accepterer det, så tråden lukkes  =)
Avatar billede saudoo Nybegynder
18. februar 2013 - 17:35 #18
Jamen så siger jeg tak og bruger min spørgsmål jeg lavede tidligere ved en fejl. :-)
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