Avatar billede elskermad.dk Nybegynder
24. september 2006 - 11:46 Der er 15 kommentarer og
1 løsning

Min "tilbage-knap" bliver fyldt op

Hej Eksperter!

Hvordan undgår jeg at min tilbageknap bliver fyldt op med en masse "ingenting" når man på en side har mulighed for at submitte data til en skjult iframe.

Når man fx har submitte formen afsted en 10 gange, er det træls at skulle trykke på tilbageknappen ligeså mange gange igen - og de fleste brugere vil ikke forstå hvorfor der ikke sker noget og i stedet måske lukke browseren.

Der må være en måde at styre indholdet af tilbageknappen bedre? :)
Avatar billede htm Nybegynder
24. september 2006 - 12:48 #1
Hvis du submitter en form vil det altid blive vist i historikken. Du kan så overveje om det er rigtigt designet hvis den skal submitte iframen hele tiden :-). Men hvis brugeren laver en handling som fører ham til ny side eller nyt indhold så skal han stadig kunne gå tilbage til forrige side.

En mulighed er at i stedet for at submitte formen, bruger du location.replace. Altså byg dine data op som parametre til adresselinien og så kald location.replace på din iframe.

eks. location.replace('minside.html');
Avatar billede elskermad.dk Nybegynder
24. september 2006 - 13:11 #2
det er den eneste mulighed? :S man kan fx ikke fjerne nogle af indekse i history-objectet?
Avatar billede htm Nybegynder
24. september 2006 - 13:32 #3
Nej heldigvis... - jeg ville ikke bryde min om at besøge en side som manipulerede med min historik eller slettede noget...

Er der en handling skal der også være et historikindeks.

Du kan kun replace den aktuelle side med en ny (location.replace)

Prøv forøvrigt at se denne: http://www.w3.org/QA/Tips/reback :-)
Avatar billede olebole Juniormester
25. september 2006 - 12:39 #4
<ole>

Læg mærke til, at du ikke får fyldt en kommentarskrivning ind i din historik her på Eksperten  ;o)
I dokumentet, du submitter mod (lad os kalde det 'side.php'), skriver du:

<?php
    // Her opdaterer du database m.m.

    header("Location: side.php");
    exit;
?>

/mvh
</bole>
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 13:28 #5
ja det var jo en metode olebole, problemet er bare at der der submittes til, efterfølgende udskriver noget javascript, også kan en php-header jo desværre ikke lade sig gøre...

er bange for jeg bliver nødt til at omskrive til at bruge location.replace som htm forslår!

smider du et svar htm?
Avatar billede olebole Juniormester
25. september 2006 - 13:32 #6
Ja, så er mit forslag lidt pølset  =)
Avatar billede olebole Juniormester
25. september 2006 - 13:34 #7
- men er AJAX mon ikke det, du burde bruge?
Avatar billede htm Nybegynder
25. september 2006 - 14:05 #8
Ja jeg er enig med ole, AJAX ville være fantastisk i din situation - så kunne du også helt undvære din iframe :-)

Men den nemme løsning er location.replace.
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 14:41 #9
jeg er ikke kommet ind i ajax (endnu), ville egentlig gerne, men i første omgang koncentrerer jeg mig lige om at lære xhtml, så må jeg knytte ajax til!

går ud fra i mener at den henter xml-data på en eller anden måde?
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 14:41 #10
og med at lære xhtml, mener jeg lige så meget javascript-delen af det
Avatar billede olebole Juniormester
25. september 2006 - 14:52 #11
Du kan nu også sagtens bruge AJAX under alm. HTML  :)
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 15:04 #12
hehe det kan godt være, men mclemens har sat mig i gang med at lære xhtml, og må hellere tage en ting af gangen :)

men AJAX er hvor javascript og XML arbejder sammen ikke?
Avatar billede olebole Juniormester
25. september 2006 - 15:13 #13
Du behøver ikke bruge XML-formatering sammen med AJAX. X'et i AJAX står for 'XMLHttpRequest' - og det er den teknologi, man bruger til at sende requests til serveren.
Serveren kan så returnere data i f.eks. XML- eller JSON-format (JSON = 'JavaScript Object Notation' ... http://www.json.org/ ).

Personligt foretrækker jeg JSON, da det format er lige til at bruge med JS og DOM på klienten ... og så fylder det mindre at sende over nettet (= mindre trafik).
Læs evt. også min artikel om JS-arrays og -objekter:
    http://www.eksperten.dk/artikler/227
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 15:46 #14
okay den vil jeg da prøve at læse lidt fra :)

som jeg gør det nu, har jeg php til at udskrive noget data i iframen, som kalder en js-funktion med noget data og på den måde få det ind i systemet på - er det meget ueffektivt?
Avatar billede olebole Juniormester
25. september 2006 - 15:52 #15
Nej, det er ikke voldsomt ineffektivt, men giver f.eks. rod i history-objekterne - som du har opdaget - og så er (i)frames jo valid XHTML i 'de løse' versioner  :)

Prøv evt. at søge på WWW efter AJAX-tutorials - men gå laaaaangt udenom w3schools.com, hvis AJAX-tut kun har en ubetydelig lille kæft med AJAX at gøre
Avatar billede elskermad.dk Nybegynder
25. september 2006 - 15:54 #16
kan du give et eksempel på hvordan det data du henter fra ser ud og hvordan det bliver hentet ind i js? så vil jeg kigge videre ude på www efter mere inspiration og sige rigtig mange tak for inputs :)
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