/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Deaktivere Tilbage knappen i browseren...
Fra : OZ


Dato : 19-06-01 10:11

Hej NG

Jeg har en site hvor folk indsender en formular, problemet er at folk så
bruger tilbage knappen i browseren og derved kommer til at sende formularen
igen.

Flowet er som følger:
form.htm --> send.htm --> tak.htm.

Når en person indsender formularen går den forbi Send.htm som afsender
formularen til mig via email og sendes så til takke siden.

Er det ikke muligt at deaktivere tilbage knappen i browseren på en enkelt
side, da folk ellers havner på send.htm og sender formularen igen når de
vælger tilbage knappen i browseren??

Håber der er nogen der ligger inde med noget hjælp.

På forhånd tak

Otto Meurer



 
 
Richard Flamsholt (19-06-2001)
Kommentar
Fra : Richard Flamsholt


Dato : 19-06-01 22:01

"OZ" <gonzo@strike-team.com> skrev:
>Flowet er som følger:
>form.htm --> send.htm --> tak.htm.
>
>Når en person indsender formularen går den forbi Send.htm som afsender
>formularen til mig via email og sendes så til takke siden.

Flowet er godt nok og med en enkelt ændring får du præcis den effekt du
ønsker. Det kræver at du genererer egne HTTP-headers og lader "send.htm"
(et cgi-script eller php eller lignende, går jeg ud fra?) tilføje en
redirigering på HTTP-niveau, dvs ikke med en meta-tag men med rigtige
HTTP-headers:

"send.htm"-output:
   Status:302
   Location:http://:/path/tak.htm"
   Content-Type:text/html
   
   (Body'en vil ikke blive vist, så den kan være tom)

HTTP siger, at Location-URL'en skal være absolut, ikke relativ, så du
bliver nødt til at fiske SERVER_NAME+SERVER_PORT frem.

(Da jeg første gang fandt frem til metoden brugte jeg en relativ URL og
det fik Netscape 4.7x til at gå i selvsving og genindlæse (dvs udføre!)
min tilsvarende "send.htm"-side om og om igen til den døde efter ca. 30
gange!)

>Er det ikke muligt at deaktivere tilbage knappen i browseren på en enkelt
>side, da folk ellers havner på send.htm og sender formularen igen når de
>vælger tilbage knappen i browseren??

Så vidt jeg ved er det ikke muligt på andre måder. Du kan ikke disable
enhver browsers tilbageknap.

--
Richard Flamsholt
richard@flamsholt.dk - www.richard.flamsholt.dk

OZ (20-06-2001)
Kommentar
Fra : OZ


Dato : 20-06-01 17:06

"Richard Flamsholt" <richard@flamsholt.dk> skrev:
> Flowet er godt nok og med en enkelt ændring får du præcis den effekt du
> ønsker. Det kræver at du genererer egne HTTP-headers og lader "send.htm"
> (et cgi-script eller php eller lignende, går jeg ud fra?)

Ja send.htm er send.asp, altså et script som du er inde på.

> tilføje en redirigering på HTTP-niveau, dvs ikke med en meta-tag men med
rigtige
> HTTP-headers:
>
> "send.htm"-output:
> Status:302
> Location:http://:/path/tak.htm"
> Content-Type:text/html
>
> (Body'en vil ikke blive vist, så den kan være tom)
>
> HTTP siger, at Location-URL'en skal være absolut, ikke relativ, så du
> bliver nødt til at fiske SERVER_NAME+SERVER_PORT frem.

Jeg beklager men jeg tror ikke jeg kan gennemskue det du skriver her?


> (Da jeg første gang fandt frem til metoden brugte jeg en relativ URL og
> det fik Netscape 4.7x til at gå i selvsving og genindlæse (dvs udføre!)
> min tilsvarende "send.htm"-side om og om igen til den døde efter ca. 30
> gange!)

HEHEHHE det var da griner =)

> Så vidt jeg ved er det ikke muligt på andre måder. Du kan ikke disable
> enhver browsers tilbageknap.

Det var da en skam det ville ellers være smart syntes jeg =)

Håber du har overskud til at forklare mig det der med egen header eller
måske henvise til et link hvor jeg kan læse lidt om det?

På forånd tak

Otto Meurer




Richard Flamsholt (20-06-2001)
Kommentar
Fra : Richard Flamsholt


Dato : 20-06-01 18:03

"OZ" <gonzo@strike-team.com> skrev:
>Jeg beklager men jeg tror ikke jeg kan gennemskue det du skriver her?

Dit asp-script kan udover at sende HTML også sende HTTP-headers. Den
mest kendte er nok "Content-Type:text/html". Tilsvarende skal du nu
sørge for at send.asp også udsender de her to tekster:

"Status:302"
og "Location:http://din-webserver/path/tak.htm"

At URL'en skal være absolut betyder , at den ikke kun må nøjes med at
indeholde "tak.htm" men skal være den fulde sti, som man ville skrive
det i browserens URL-felt - og det kræver, at man finder ud af hvad
webserveren hedder, hvilket man kan gøre (jeg ved ikke præcis hvordan du
kan gøre det, dog) ved at få fat i "variablerne" SERVER_NAME og også
gerne SERVER_PORT, for det tilfælde at webserveren kører på en port, der
ikke er port 80.

Prøv evt at søge på asp, "status:302" og location i fx google, så dukker
der nok gode forslag op.

>Det var da en skam det ville ellers være smart syntes jeg =)

Men på den her måde går "back" tilbage til din første side, og ikke til
din send-side - og det er jo endnu smartere, eftersom du netop ønsker at
send-siden er et slags skjult mellem-stadie.

--
Richard Flamsholt
richard@flamsholt.dk - www.richard.flamsholt.dk

OZ (20-06-2001)
Kommentar
Fra : OZ


Dato : 20-06-01 20:49


"Richard Flamsholt" <richard@flamsholt.dk skrev:

> Prøv evt at søge på asp, "status:302" og location i fx google, så dukker
> der nok gode forslag op.

Det skal jeg forsøge tak for tippet =)

> Men på den her måde går "back" tilbage til din første side, og ikke til
> din send-side - og det er jo endnu smartere, eftersom du netop ønsker at
> send-siden er et slags skjult mellem-stadie.

Det er netop det jeg ønsker jeps...

Tak igen jeg forsøger mig frem...

Otto



Erik Isager (20-06-2001)
Kommentar
Fra : Erik Isager


Dato : 20-06-01 22:07



Hej !!

jeg prøver med et svar selv om jeg ikke har meget forstand på emnet !!

Jeg havde selv problemer med at få min formmail til at virke som jeg ville
ha den til.

hjemmesiden er lavet med side opdeling, Top, Menu, og Main.
Formmailen var i main, men "Tak for..." kom i et nyt vindue og det betød
at indholdet af de indtastninger der var lavet, stadig var på den forrige
side, dvs. klar til at sende igen, og igen. Ved at få "Tak for..." til at
komme frem i Main, så er formmailen "væk" og skal så udfylde på ny.?? var
det til noget..
Linjen ser sådan ud, og det er "target_self" til sidst der hjalp mig med det
( tror jeg nok)

<input type=hidden name="redirect" value="http://www.dch-haslev.dk/tak.htm"
target="_self">


--
Med venlig hilsen
Erik Isager




Mickey (20-06-2001)
Kommentar
Fra : Mickey


Dato : 20-06-01 20:09

"Richard Flamsholt" <richard@flamsholt.dk> skrev:

> Location:http://:/path/tak.htm"

server port er ikke nødvendig med mindre det er en anden port end 80


--
|-|$235-|)k - Mickey
Ekstra Bladet om humor:
"Det havde Jesus. (Forvandler man vand til vin, så har man humor)."
http://ekstrabladet.dk/VisArtikel.iasp?PageID=129465



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408528
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste