Avatar billede mik28 Seniormester
31. december 2004 - 15:04 Der er 12 kommentarer og
1 løsning

Fjern focus fra form når den er submittet

Hej eksperter,

Hvordan fjerner jeg fucus fra en submit knap når den er submittet. Problemet er at jeg har en form som indeholder nogle værdier, hvis jeg trykker F5 bliver formen submittet igen og igen.
Avatar billede olebole Juniormester
31. december 2004 - 15:29 #1
<ole>

Som du ved, sker det ikke her på Eksperten. Forklaringen er følgende:
I formen ligger f.eks. et skjult felt med sidens egen adresse:
  <input type="hidden" name="retPage" value="<?=$_SERVER["PHP_SELF"]?>">

Formen submittes mod dokumentet 'response.php'. Dette dokument ser ud noget à la:
<?
  // Her opdateres database og andet
  Header("Location: ".$_POST["retPage"]);
?>

Så returneres brugeren til siden, han kom fra - og kan opdatere denne så tosset, han vil.

/mvh
</bole>
Avatar billede olebole Juniormester
31. december 2004 - 15:35 #2
Under ASP kan du bruge Response.Redirect - men jeg kan se på din bruger, du er JSP-mand. Der ved jeg desværre ikke, hvad en lignende funktionalitet hedder  :)
Avatar billede baitianlong Nybegynder
31. december 2004 - 17:07 #3
Jeg har engang haft samme problem med en gæstebog, hvis folk klikkede to gange på submit, kom indlægget 2 gange, men så ændrede jeg tids-feltet i databasen til DATETIME og skrev ikke sekunder, og gjorde feltet UNIQUE. Så kan der ikke indsættes flere gange, ved en fejl.

mysql_query("INSERT INTO guestbook(name, time, message) VALUES ('$name', '$tid', '$comment')") or die("Enten har du klikket for meget eller også er Databasen optaget, prøv igen om et minut !!!");

Godt nytår
Avatar billede thomas_yde Nybegynder
01. januar 2005 - 01:37 #4
jeg er ret sikker på den hedder response.sendRedirect("naesteside.jsp")
Avatar billede mik28 Seniormester
01. januar 2005 - 02:11 #5
Det er ikke min mening at sende brugeren væk fra siden :-) Jeg tror faktisk slet ikke det er fucus på knappen som er problemet. Kan jeg nulstille et felt efter det er blevet submittet
Avatar billede mik28 Seniormester
01. januar 2005 - 02:24 #6
Burde jeg ikke kunne gøre således og så ligge det ind tilsidst i min opret. Grunden til at jeg vil gøre det på den måde er at jeg har et javascript som checker på at der står noget i feltet

<!-- Nulstil felt så det bliver fanget af JS i det tilfælde at der bliver trykket F5 -->
<script type="text/javascript">document.nyundergruppe.underprodukt.value="";</script>
Avatar billede mik28 Seniormester
01. januar 2005 - 13:36 #7
Hvad er der galt med det her. Det jeg vil opnå er at der er focus på den knap, så det er den som bliver aktiveret når man trykker return
<body onload="document.nyundergruppe.indsaet.focus();">
Avatar billede olebole Juniormester
01. januar 2005 - 14:12 #8
Jo, du er netop interesseret i at sende brugeren til en anden side ... det er den eneste fornuftige måde, du undgår dit problem på - og den måde alle andre i verden klarer det på. Du kan sagtens redirect'e brugeren til siden selv (det behøver ikke være et andet dokument) - det giver samme resultat.
Det, du er ude i  nu, er helt klart en dårlig panikløsning ... du bør afgjort løse det på den anden måde  ;o)
Avatar billede mik28 Seniormester
01. januar 2005 - 16:15 #9
Jeg submitter formen til den samme side og det virker fint. Det med at man ikke må kunne trykke på F5 også bliver formen submittet igen er egentlig bare en detalje. Det som undre mig er blot at den værdi jeg har tastet ind ikke forsvinder når jeg har submittet første gang. Jeg vil gerne vise dig det i praksis hvis du vil se det
Avatar billede mik28 Seniormester
01. januar 2005 - 19:47 #10
Så fik jeg det til at virke. Jeg har lagt en response.sendRedirect("DEN_SAMME_SIDE.jsp"); ind i min opret. Tak for hjælpen.
Avatar billede olebole Juniormester
01. januar 2005 - 20:48 #11
... anytime  ;o)
Jeg håber, du kan se, dette er en meget bedre løsning, end at lave forskellige JS-løsninger. Nu kurerer du tilstanden - i stedet for at sløre symptomerne  :)
Avatar billede olebole Juniormester
01. januar 2005 - 20:48 #12
Og så vil jeg tillade mig at kaste et svar ... *griiiiib*
Avatar billede mik28 Seniormester
02. januar 2005 - 08:12 #13
Endnu engng mange tak
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