Avatar billede stigc Nybegynder
26. december 2000 - 22:53 Der er 12 kommentarer og
2 løsninger

form i http-headeren!

Når man nu har submittet en form og siden der modtager data har bearbejdet disse på serveren, så modtager brugeren som regl en side med de opdaterede data! Nu er det sådan at form-data stadigvæk ligger i siden, og hvis brugeren trykker opdater så vil den gen-poste dette! Er der en vej uden om dette?

Jeg ved godt man kan reloade siden efter man har bearbejdet data på serveren, og dermed slippe for det ligger data i http-headerne, men jeg ønsker en anden løsning. Anyone?
Avatar billede lp Nybegynder
26. december 2000 - 22:55 #1
hmmm, kan du ikke bruge get istedet for post?
Avatar billede lp Nybegynder
26. december 2000 - 22:57 #2
hvis det er asp, kan du redirecte til den samme side efter den har opdateret dataene...altså

afsender.html
<form method=\"get\" action=\"modtager.asp\">

modtager.asp
efter alle data er sat.....
Response.Redirect \"modtager.asp\" //eller en anden side...
Avatar billede stigc Nybegynder
26. december 2000 - 22:57 #3
problemet findes da ved begge metoder....
Avatar billede stigc Nybegynder
26. december 2000 - 22:59 #4
hmm. I følge spørgmålet ønsker jeg en anden løsning! :)
Avatar billede blood Nybegynder
26. december 2000 - 22:59 #5
jeg plejer bare at sætte denne ind i bunden af scriptet

<? print \"<META HTTP-EQUIV=\\\"Refresh\\\" CONTENT=\\\"0; URL=nyside.php?data1=$data1&data2=data2\\\">\";

den vidersender ham jo til en ny side hvor den data der lige er blevet sat ind følger med
Avatar billede blood Nybegynder
26. december 2000 - 23:00 #6
hæhæ er det asp eller php?
Avatar billede lp Nybegynder
26. december 2000 - 23:00 #7
løsningsforsøg 2:
ved at get\'e modtager man ikke en popup...derved kan du sætte en session som fortæller at man har opdateret..gx en dynamisk som indeholder id\'et på den post som er opdateret....

derefter kan du smide en if statement uden om dine save linjer...

hvis session IKKE er sat skal du indsætte
Avatar billede lp Nybegynder
26. december 2000 - 23:02 #8
den der refresh ting gør vel egentlig det samme som redirect - blot clientside....

jeg kan umiddelbart ikke komme på en anden løsning......beklager....
Avatar billede jakoba Nybegynder
27. december 2000 - 00:39 #9
Kunne denneher virke:

i head:

<script language=\'javascript\'>

var formSent = false;   

function sendForm (frm) {
  if (formSent) {
    alert (\"Dine data er allerede blevet sendt.\");
  } else {
    frm.submit()
    formSent = true;
  }; //endif
}; //end sendForm ( form )

</script>

og formen:

<form  ... som før men submit knappen erstattes af

<input type=\'button\' onclick=\'sendForm(this.form);\' value=\'submit\'>

</Form>

og du sørger for at tryk på enter i tekstfelteter og lignende ikke genererer en submit, men enten ignoreres eller aktiverer sendForm(this.form).

mvh JakobA
Avatar billede stigc Nybegynder
11. januar 2001 - 03:17 #10
lp >> for din ide med din session variabel får du halvdelen!
Avatar billede stigc Nybegynder
11. januar 2001 - 03:17 #11
lp>> for din ide med sessionvariabel får du halvdelen!
Avatar billede stigc Nybegynder
11. januar 2001 - 03:17 #12
lp>> for din ide med sessionvariabel får du halvdelen!
Avatar billede lp Nybegynder
11. januar 2001 - 03:22 #13
ok, kunne det bruges bare lidt?!? bare for at vide om det er noget jeg selv kunne bruge engang hvis jeg får brug for det!

p.s. havde du problemer med at kommentere, he he???
Avatar billede stigc Nybegynder
11. januar 2001 - 15:48 #14
Det gjorde den selv!

Jeg har ikke brugt det til noget, det var bare a ren interesse. Men ideen virker jo fint nok, bare lidt for besværlig
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