05. april 2001 - 13:32Der er
10 kommentarer og 1 løsning
History glemmer data
Jeg har en frame med en form i. Formen bliver submitet til et CGI script som validere dataene. Hvis der er fejl i dataene producerer jeg en side, udenfor framesetet, med en meddelelse til brugeren og en knap hvor man kan gå tilbage vha. history.go(-1) og man kan så gå tilbage og rettet data og submitte igen. Det virker fint i både Netscape og IE 5.5.
I min form har jeg også noget JavaScript der åbner et nyt vindue. Problemet opstår når man har haft sådan et vindue åbent og submitter og så vil gå tilbage. Så er alle data væk i formen i IE men det virker stadig fint i Netscape.
Jeg har prøvet at erstatte tilbage scriptet med history.back() og window.history.back() men resultatet er det samme.
Er der nogen der kender en løsning på det problem?
Hvis der er nogen, der vil se det aktuelle system, kan jeg godt sende en URL, brugernavn og password, hvis jeg får en email adresse.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
desværre den er nok lovlig avanceret til mig at give et svar på.
din side \"../browser.zap\" ser ud til at snakke med serveren og ser samtidig ud til (mest et gæt) at den strækker en javascript-finger tilbage i opener siden hvor den retter i formens data.
Det mest sandsynlige er nok at det tainter formdata på hovedsiden og at den taint så skal fjernes før submitten vil \"huske\" sine form værdier. (men burde det tainte nogetsomhelst?)
et gæt: lav en løkke der før hver submit løber formen igennem og for hvert felt gør feltværdien til noget den selv har skrevet: document.formnavn.feltnavn,value = document.formnavn.feltnavn,value; Det kan måske få siden til at føle dataene tilhører den selv og er værd at huske.
Men jeg tror du skal nok have hjælp af en af \'rigtig\' ekspert.
Din analyse af siden er rigtig. browse.zap taler med en server (via Z39.50) og får et antal ord tilbage som den viser. Ved at klikke på et af ordene bliver ordet overført til åbnersiden.
Det der \"taint\" ved jeg ikke hvad betyder.
Jeg har prøvet at skrive dataene som du foreslog men det hjælper ikke. :-(
tainting er primært en måde at huske hvor data kommer fra. Normalt må data hentet fra een server ikke via en webside blive sendt til en anden server. Men med lidt hiv og sving kan sider loaded fra forskellige servere godt snakke sammen alligevel. men de data de udveksler vil være tainted, dvs markeret som hørende til den \"fremmede\" side snarere end den de pt ligger på.
Og jeg kan ikke komme på bedre forslag. sorry. Lad os håbe der kommer en dygtigere \"ekspert\" forbi.
Jeg har forsket lidt videre i problemet og har nu fundet ud af at det nok ikke er et javascript problem men snarere et problem med at InternetExplorer insisterer på at den ene side i min frame skal realoades når jeg går tilbage.
Det er muligvis noget med at headeren for det dokument ser lidt anderledes ud end for alm. HTML.
Er der nogen der ved hvordan man undgår det, uden at skulle ind og lave om på headeren?
Jeg har fundet en løsning på problemet og det havde intet med det oprindelige spørgsmål at gøre. Den pågældende sides header var lidt anderledes end enstandard HTML side og IE insisterer så på at realoade sidn hver gang man går tilbage til den.
Hvad gør jeg nu med alle de points der er ude at svæve?
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.