Avatar billede mik28 Seniormester
19. december 2004 - 13:58 Der er 13 kommentarer og
1 løsning

Submitte en form og opdaterer en anden side

Jeg har en form som ser således ud. Den ligger på en jsp side som har til formål at oprette varer. Det skulle gerne være sådan at når man submitter formen så sker der en opdatering af en anden side.

<form name="nytprodukt">
<input type="hidden" name="nyt" value="indsaet"></input>
<input type="text" name="product" value="" />
<input type="text" name="form" value="" />
<input type="submit" name="Opret" value="Opret Ny" />
</form>
Avatar billede roenving Novice
19. december 2004 - 14:09 #1
Send en javascript refresh med siden, som formen ligger på, f.eks.

<body onload="parent.frames['ordreliste'].location.reload(true);">
Avatar billede mik28 Seniormester
19. december 2004 - 14:28 #2
Det virker på den måde at man fra den side jeg gerne vil have opdateret trykker på en knap "Opret nyt produkt". Der bliver så via et javascript åbnet et nyt vindue.
<button onclick="window.open('./opretnyt.jsp', 'OpretNy', 'scrollbars=yes,resizable=no,copyhistory=yes,height=400,width=550,top=145,left=175,screenY=150,screenX=100');">Opret ny vare</button>

Her ligger formen så. Hvad skal jeg skrive i min onsubmit for at få den oprindelige side opdateret

<form name="nytprodukt" onsubmit="self.close();">
Avatar billede roenving Novice
19. december 2004 - 14:35 #3
onsubmit fyres af, før formen submittes, så din opdatering af databasen vil ikke slå igennem onsubmit !-)

-- men du kan vel fra din jsp-script sende f.eks. dette til popup-vinduet:

<script type="text/javascript">opener.location.reload(true);self.close()</script>
Avatar billede mik28 Seniormester
19. december 2004 - 14:46 #4
Øv. Jeg troede lige at jeg kunne gøre sådan her
<button type="submit" onclick="opener.location.reload(true);self.close();">Opret</button>
Avatar billede roenving Novice
19. december 2004 - 14:53 #5
Næh, for af de relevante events, så fyres de af i denne rækkefølge:

button.click() først,
derefter form.onsubmit(),
og allersidst submittes formen,

-- så med den slags kode vil du have lukket vinduet før formen når at blive sendt !-)
Avatar billede mik28 Seniormester
19. december 2004 - 15:03 #6
okay. Det vil jo sige at jeg skal have den til at opdaterer vinduet efter at formen er submittet. Mit problem er at få det til at hænge sammen med at der bliver trykket på knappen.
Avatar billede roenving Novice
19. december 2004 - 15:05 #7
Hvorfor smider du ikke bare den et-linjes javascript-kode tilbage i popup-vinduet, som jeg viste 14:35:19 ?-)
Avatar billede mik28 Seniormester
19. december 2004 - 15:09 #8
Nu virker det. Tak for hjælpen. Jeg skulle lige fatte at self.close(); skulle væk for ellers bliver vinduet jo bare lukket lige så snart at man åbner det
Avatar billede roenving Novice
19. december 2004 - 15:12 #9
Oki -- og velbekomme '-)
Avatar billede mik28 Seniormester
19. december 2004 - 15:28 #10
Det ville være superfedt hvis jeg kunne få den til at lukke vinduet
Avatar billede roenving Novice
19. december 2004 - 15:37 #11
F.eks.

<script type="text/javascript">opener.location.reload(true);setTimeout('self.close()',200);</script>

-- og tak for point ;~}
Avatar billede mik28 Seniormester
19. december 2004 - 16:51 #12
Det var da så lidt. Det skulle jo helst ske i forbindelse med at man trykker på knappen
Avatar billede roenving Novice
19. december 2004 - 16:56 #13
Men som nævnt ovenfor, skal du jo lige have indsat i database (eller cookien eller whatever !-) før der er ide i at opfriske vinduet, så det er faktisk den eneste type løsning, som får alt til at virke, medmindre du vil skrive direkte til det andet vindue uden at submitte !-)
Avatar billede mik28 Seniormester
19. december 2004 - 17:12 #14
okay. Det er heller ikke så vigtigt. Det er bare fedt at det andet bare virker
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