Avatar billede ranx Nybegynder
15. februar 2008 - 23:57 Der er 8 kommentarer

Forms og submit

Scenariet: Jeg har en index side med en over og underside. Undersiden er en iframe.

Oversiden har en login og password form så submittes til et link i iframen (hovedsiden).

Det er også helt fint.

Jeg vil efter at login og password formen er kørt refreshe min index side. Ligesom hvis man trykker F5 bagefter man havde trykket submit.

Hvordan gøres det? jeg har leget lidt med onSubmit og onClick men kan ikke rigtig få det til at virke.


Koden:


<form action="login.php" method="post" enctype="multipart/form-data" target="hovedside">
                   
<table>
           
<tr><td>Navn:</td><td><input name="username" type="text" size="13"></td></tr>
           
<tr><td>Password:</td><td><input name="password" type="password" size="13"></td></tr>       
           
<tr><td><input type="submit" value="login" name="login"></td></tr>

</table>

</form>
Avatar billede nwn Nybegynder
16. februar 2008 - 02:28 #1
ved din submit knap indsætter du bare onClick="location.reload();"

Sådan her:

<input type="submit" value="login" name="login" onClick="location.reload();">
Avatar billede nwn Nybegynder
16. februar 2008 - 02:29 #2
Smider lige et svar, bare afvis det, hvis du ikke kunne bruge det.
Avatar billede olebole Juniormester
16. februar 2008 - 02:59 #3
<ole>

I det dokument, du poster til (og dermed loader i iframe'en), skriver du:

<script type="text/JavaScript">
    parent.location.reload(true);
</script>

Så er du helt sikker på, at serverhandlingen er helt slut, før du reloader hoveddokumentet - og at det ikke hentes fra cache'en  ;o)

/mvh
</bole>
Avatar billede ranx Nybegynder
16. februar 2008 - 10:21 #4
Det med en over og under side mener jeg at begge er samme index.php.

De i skriver har jeg ikke fået til at virke desværre.

Eneste måde jeg 'rigtig' kan refreshe siden på er ved at fjerne target="hovedside"> i form og tilføje: <input type="hidden" name="redirect"  value="../index.php">

Så refresher den hele siden, men nu peger min form jo ikke længere på iframen hvilket heller ikke duer. Det er ligesom at hvis target="hovedside"> er på så refresher den kun min target frame og ikke HELE index.php siden?

På forhånd tak
Avatar billede nwn Nybegynder
16. februar 2008 - 11:25 #5
Hvad hvis du erstatter formen med dette:

<form action="login.php" method="post" enctype="multipart/form-data" target="hovedside" onSubmit="location.reload();">
Avatar billede ranx Nybegynder
16. februar 2008 - 11:34 #6
Jeg har nu prøvet:

<form action="login.php" method="post" enctype="multipart/form-data" target="hovedside" onSubmit="location.reload();">

Det virker ikke ved første submit, men kun ved nr 2? så jeg skal ligesom trykke submit 2 gange før siden sådan "rigtig" refresher.

Hvad kan det skyldes?
Avatar billede ranx Nybegynder
16. februar 2008 - 11:40 #7
Nu har jeg så langt mærke til at det opfører sig forskelligt i IE og FireFox.

FireFox skal jeg trykker submit 2 gange så refresher den rigtig, i IE gør den intet.
Avatar billede nwn Nybegynder
16. februar 2008 - 20:10 #8
Jeg forstår ikke helt hvorfor du skal trykke 2 gange?

Den burde virke ved første gang, og hvad mener du helt præcist med "refresher rigtigt" ?
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



IT-JOB