Kristian Thy wrote:
> Jeg har en form med to submitknapper. Når den får fokus vælger den en af
> knapperne som formens "default" submit-knap (altså den der vælges hvis
> man skriver i et felt og trykker enter i stedet for eksplicit at trykke
> på en af knapperne med musen). Det er tilsyneladende bare den knap der
> kommer først på formen. Hvordan kan jeg styre at det skal være den anden
> der er standardknappen? Jeg har prøvet at sætte tabindex='1' på den, men
> det hjalp ikke ...
>
Det skal først siges at Opera (7.60) gør det rigtigt
Den bruger den næste submit knap udfra det felt der har fokus.
Den bedste løsning er nok at kontrollere på serversiden, hvor der er
udfyldt data og på basis af dette, gætte sig til, hvad bruger vil.
Men du har også mulighed for at lave et _grimt_ HTML-hack.
Du indsætter en image submit knap før den første knap og giver den en
1x1 transparent gif. Den vil så submit'e ved enter.
Ved denne løsning vil det dog se mærkeligt ud for tekst-, tale- og
mobile-browsere at der lige pludselig er en ekstra knap.
Alternativt kan du også vælge via javascript at disable submit ved enter
på form felterne. Du skal på samtlige form felter (ikke knapperne) ved
eventen onkeypress returnere false, hvis brugere trykker enter. Bruger
er så nød til enten at klikke på en af submit knapperne eller sætte
fokus på en af dem og trykke enter.
Du kan også gå videre med ovenstående og sætte en timeout som køre
eventen click på den anden submit knap (altså "btn2").
Ovenstående 2 løsninger virker selvfølgelig kun hvis javascript er
enabled, men HTML-koden vil ikke blive skæmmet med et hack.
Ingen af ovenstående løsninger er perfekte, men nu har du fået lidt at
vælge imellem.
--
Martin Hintzmann Andersen
http://www.hintzmann.dk/