Avatar billede Slettet bruger
09. december 2003 - 12:23 Der er 10 kommentarer og
1 løsning

On submit fokus næste felt

Jeg har en masse forms på en side, i hver form leger vi der er et felt der hedder antal. Når jeg så klikke på submit knappen i en af formene vil jeg meget gerne have at fokus kommer på næste forms antal felt

Kan det lade sig gøre og hvordan?

Det skal sige at hver form submitter til et nyt vindue så den side man har submittet fra bliver der altså.
Avatar billede medions Nybegynder
09. december 2003 - 12:36 #1
onsubmit="document.formnavn.feltnavn.focus();"

//>Rune
Avatar billede nikolajdu Nybegynder
09. december 2003 - 12:38 #2
medions - Side reloader jo ;-)

Så det er nærmere :

<body onload="document.NAESTEformnavn.feltnavn.focus();">

Hvor så NAESTEformnavn må beregnes ud fra den submittede form. Hvis form1 blev postet tager vi form2.....
Avatar billede medions Nybegynder
09. december 2003 - 12:40 #3
nåå okay, jeg læste bare lige hurtigt overskriften, sry!

:)

//>Rune
Avatar billede Slettet bruger
09. december 2003 - 12:59 #4
ok men der kan være tale om 100 forme på en side...
hvordan kan ma lave den beregning
Avatar billede nikolajdu Nybegynder
09. december 2003 - 13:07 #5
Giv den et fortløbende navn.

Form1, form2, form3 - Da du alligevel validere på hvilken for der er postet så vil du nemt kunne finde ud af hvilken en der er den næste...
Avatar billede ldanielsen Nybegynder
09. december 2003 - 13:17 #6
medions har ret, siden reloader netop ikke.

jeg har en løsning her:

onsubmit="setFocus(this);"


og:

function setFocus(f){
  formClicked = -1
  for (i=0;i<document.forms.length;i++){
    if (f == document.forms[i]) formClicked = i
    }
  if (formClicked >= 0 && i < document.forms.length) document.forms[i + 1].antalField.focus()
  }

IKKE TESTET
_________________________________________________________________________________________
Avatar billede ldanielsen Nybegynder
09. december 2003 - 13:18 #7
sorry:

if (formClicked >= 0 && formClicked < document.forms.length) document.forms[formClicked + 1].antalField.focus()
Avatar billede nikolajdu Nybegynder
09. december 2003 - 13:20 #8
Det er i og for sig ligegyldigt om siden reloader eller ej. Du skal behandle data i det nye vindue - Så ved du jo også hvilken form der blev submittet.
Avatar billede Slettet bruger
09. december 2003 - 15:13 #9
Idanielsen ->

Det er hvad jeg sætter ind i toppen af mit html dokument:

function setFocus(f){
  formClicked = -1
  for (i=0;i<document.forms.length;i++){
    if (f == document.forms[i]) formClicked = i
    }
  if (formClicked >= 0 && i < document.forms.length) document.forms[i + 1].antal.focus()
  }

og her er formen

<form name="form<%=VarNr%>" action="addproduct.asp" method="post" target="Bestillingsliste" onsubmit="setFocus(this);" style="margin:0px;">

den gør det hele uden fejl men den flytter ikke focus til det næste felt

PS: VarNr er en tæller 1234567 osv
Avatar billede Slettet bruger
09. december 2003 - 16:22 #10
upps det virker jo med din lille tilføjelse...smid et svar
Avatar billede ldanielsen Nybegynder
10. december 2003 - 11:30 #11
Ok takker
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