Nej, det har jo ikke noget med serveren at gøre, om der bliver trykket F5. Du må ud i at rode med en cookie på klienten, i hvilken værdierne bliver skrevet ved onunload - og hvis kagen indeholder værdier, bliver disse skrevet ind i felterne på onload.
Men da enhver webbruger mellem 7 og 75 år ved, at en formular mister sit indhold ved reload, burde det vel også være overflødigt. Jeg finder det i hvertfald overkill :)
- Og det næste spørgsmål er så om det overhovedet er smart at gemme disse oplysninger i en cookie på maskinen ... det afhænger selvfølgelig af hvilke oplysninger vi taler om ... hvis der er tale om Navn, adresse kodeord og lignende vil jeg ikke synes det er optimalt - medmindre cookie sættes som midlertidig/kortvarig. (jeg tænker bl.a. på visse offentligt tilgængelige pc'er som biblioteker, netcafeer ... eller pc'er i uddannelses institutioner...)
Joh, ulempen ved sessionen (i dette tilfælde) er jo blot at der skal afsendes en xmlhttprequest hver gang man trykker på en knap med de nye oplysninger om hvad der er indtastet i formularen (da dataer som spørger siger ikke normalt gemmes ved F5)... og der skal derfor xmlhttprequest'es ved tryk på alle taster i formular felter - og det belaster både server og bruger en del.
- Men, jeg foretrækker generalt altid en session istedet for en cookie.
Jamen, det er det med 100% garanti ikke. Det kan _kun_ gøres på klienten ... og det er ikke noget, jeg tror :) Læg et link til en form, du kan reloade og som samtidig beholder indskrevne data - så skal jeg fortælle dig, hvordan det er gjort
Tror egentlig det i dette tilfælde (som du selv siger) har noget med din php eller apache at gøre... Normalt checker browseren om der er en ny udgave af siden... hvis der er downloades denne og inputs i formularen slettes... Prøv af at fjerne nogle no-cache og lignende og max-age m.v. fra din php fil...
Det tyder på at caching er blevet disabled.... enten via php-filen elller apache... (tror det er php filen her... men det kan være begge dele)
((Hvis jeg tester lokalt med din formular gemmes inputs fint...)
mclemens >> cacheing handler om koden. Det, brugeren skriver i felterne, kommer aldrig i nærheden af cache'en. Derfor kan det umuligt have noget at gøre med no-cache headers - eller andet på serveren ;o)
ok olebole, Men hvis jeg tester lokalt vs. på siden virker det... ergo må det jo være fordi at når IE eller FF henter en ny side så lader den ikke inputs være i feltet... eller rettere ved F5 opdaterer den sådan set ikke siden hvis der ikke er en nyere side... så på en måde hvis F5 ingen effekt har kan man bevare inputs - ellers kan man ikke
mclemens >> Det er klart, at hvis du bruger no-cache headers (eller trykker Ctrl+F5 i FF), så vil browseren altid hente en ny side - og så slettes indholdet af alle felter - men du kan ikke skrive en kode, der gør det modsatte. Du kan ikke skrive en stump kode, der gør, at indholdet af felterne altid bibeholdes ved reload.
Men igen: Hvem i alverden er så tumpet at opdatere en side midt under udfyldningen af en formular? Det er da yderst ukvikt :)
en form hvor det er muligt undervejs at tilføje flere svarmuligheder samt slette svar muligheder tilføjet.
jeg havde først tænke på at man startede med at vælge svar muligheder, men vil gerne lave det sådam at man imens man indskriver "svar_muligheder" kan tilføje flere....
Hvis du vil lade serveren indsætte de nye felter, kan du da bare submitte formen mod serveren. Så har du jo de værdier, som brugeren har skrevet. Dem kan serveren så skrive ind i felterne igen, oprette nye felter og sende dokumentet tilbage ;o)
- begynd at skrive et ord i feltet. Læg så mærke til, at serveren hele tiden bliver kaldt og resultatet bliver indskrevet i et div under feltet. Det bliver gjort med 'Asynchronous JavaScript And XmlHttpRequest' -> 'AJAX'. Prøv at google lidt på emnet
Hvis jeg enedelig skulle lave det mere brugervenligt - skulle jeg lave det via. javascript så man kunne tilføje og fjerne derfra - så når formen skulle gemmes havde jeg alle værdierne. Men generalt er serverside med sikkert.... vel
Synes godt om
Ny brugerNybegynder
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.