Avatar billede sunlock Nybegynder
09. april 2011 - 09:47 Der er 7 kommentarer og
1 løsning

Struts og dobbelt submit (kun fra IE)

Jeg sidder med en simpel form, som kan submitte et cpr-nummer:
-----
<form name="cprform" id="cprform" method="post" action="/">
    <input type="hidden" name="nextAction" value="<%= ACTION_SEARCH %>" />
    <input type="hidden" name="source" value="advisor" />
    <div class="form">
        <label>Angiv CPR</label>
        <input type="text" name="cpr" id="cpr" class="text" title="Søg på CPR nr." maxlength="10" />
        <input type="button" id="searchbutton" value="Søg" class="searchButton" />
    </div>
</form>
-----
Mit problem er at IE laver et dobbelt submit, altså både et med indhold og et uden - og af en eller anden grund kommer det tomme submit først 9/10-gange.

Jeg har prøvet lidt af hvert - alt fra at fange det med javascript (alm. og jquery), men lige lidt hjælper det.

Jeg har kigget lidt på noget med en token, men min erfaring med struts er lille, så denne er lidt op ad bakke.

Jeg har overvejet at lave et filter, men kan ikke lige gennemskue hvad jeg skal gøre med det tomme request.

Alle ideer og tanker vil prøves, jeg er virkelig desperat!
Avatar billede pstidsen Novice
09. april 2011 - 13:18 #1
Du har lagt dit spørgsmål i kategorien "Java". For mig at se har det intet med Java af gøre det her, men derimod JavaScript og de to ting har kun to ting til fælles: J - A - V - A ;) Spørgsmålet bør oprettes her: http://www.eksperten.dk/spm/Programmering/Script/JavaScript/
Avatar billede arne_v Ekspert
09. april 2011 - 14:05 #2
Struts er Java ikke JavaScript.
Avatar billede arne_v Ekspert
09. april 2011 - 14:13 #3
Forst finder jeg det megt mystisk hvorfor IE skulle submitte 2 gange. Det boer ikke ske.

Med hensyn til token, saa er det lige ud af landevejen. Google "struts synchronizer token" giver masser af hits bl.a.:

http://www.coderanch.com/t/51602/Struts/Duplicate-form-submission-Synchronizer-Token

Men jeg ved ikke hvor godt det virker hvis det tomme POST komme foerst.

Et filter er ogsaa en mulighed - du kan bare undlade at chaine, saa droppes den.

Men jeg ved ikke hvad der vil ske ude i browseren i det tilfaelde.
Avatar billede sunlock Nybegynder
09. april 2011 - 18:02 #4
pstidsen... Gider vist ikke engang smide en kommentar...

arne_v, har tænkt på et filter men bryder mig ikke om at browseren kan risikere at få en timeout (eller jeg smider en fejl efter x tid).
Avatar billede arne_v Ekspert
09. april 2011 - 22:53 #5
Et filter vil returnerer et hurtigt svar saa du vil ikke faa et timeout. Men browseren vil faa et fejl/tomt response og hvis den bruger dette i.s.f. det rigtige saa er den gal.

Umiddelbart tror jeg at det bedste er at finde ud af hvorfor der submittes to gange.
Avatar billede sunlock Nybegynder
12. april 2011 - 11:30 #6
Lang tids søgning og jeg fandt fejlen. Vi har en apache foran, hvorpå der er sat SSPI op (silent login med kerberos). Vi kører apache 2.0 og havde installeret 1.0.4 af SSPI - desværre er der en bug i denne version som gør at IE vil lave et dobbelt submit (kort fortalt).

Løsningen var at nedgradere til 1.0.3, men man skulle også kunne sætte et flag på 1.0.4 - ligeledes skulle version 1.0.5b virke (fejlen har været i 1.0.4 siden 2006, så det er ikke fordi der sker meget udvikling her).
Avatar billede arne_v Ekspert
22. maj 2011 - 21:58 #7
saa luk her
Avatar billede sunlock Nybegynder
23. maj 2011 - 07:23 #8
Lukker
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

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