Avatar billede rackbox Nybegynder
22. januar 2004 - 22:38 Der er 9 kommentarer og
1 løsning

Hvordan henter man et elementnummer i en form?

Jeg har en form med en række felter, eks:
<form>
<input type=hidden name=next>
<input type=text onChange="next.value= ????"
</form>

Det jeg mangler er en metode til at finde ud af hvilket id eller nummer dette felt har, således at jeg kan lave en
<body onLoad="document.forms[0].elements[next].focus()">

altså: Når javascript submitter skal der altså være fokus på næste felt...
Avatar billede skovenborg Nybegynder
22. januar 2004 - 22:42 #1
fokus på feltet next eller på det næste felt i forhold til submitten???

Hvis det skal være next kan du vel ligeså godt gøre sådan:
<body onLoad="document.forms[0].next.focus()">
Avatar billede rackbox Nybegynder
22. januar 2004 - 22:50 #2
Nejda.. next er jo hidden... ;-)

fokus på det felt, som jeg normalt ville få fokus på, hvis jeg havde trykket tab
Avatar billede skovenborg Nybegynder
22. januar 2004 - 22:58 #3
det klart - misforstod nok dit elements[next] ;-)

Jeg skal du lige høre:
Det felt du skal have fokus på når du loader - er det feltet som kommer umiddelbart efter din submitknap eller blot det første felt i formen. Kan ikke lige gennemskue hvad præcis du vil have fat i :-S
Avatar billede skovenborg Nybegynder
22. januar 2004 - 23:02 #4
jeg skal _dog_ lige høre - en lille tavetosse som roenving ville sige ;-)
Avatar billede rackbox Nybegynder
22. januar 2004 - 23:03 #5
Jeg vil have en form, hvor et givent felt udfører en submit(), men inden da sættes et hidden field til værdien af det felt, der udfører submitten.. Derefter skal jeg finde ud af hvilket felt der kommer som det næste efter det felt, der submittede og sætte fokus på dette efter reload...
Avatar billede grunken Nybegynder
22. januar 2004 - 23:23 #6
Jeg fatter sikkert hat, men du vil altså vilket element du står i + 1 ?

er det fordi du poster data til samme side ?

nå men nogenlunde sådan her :-), være løsningen så ?
(snakker lige med sig selv)

<script type="text/javascript">
function muko(elm)
{
den = 0;
frm = elm.form;
for (var i=0; i < frm.length; i++){
  if (frm.elements[i] == elm){
  den = i;
  break;}
  }
  frm.next.value = den+1;
}
</script>

<form>
<input type="text" name="next"/> //hidden<br/>
<input type="text" onfocus="muko(this);"/><br/>
<input type="text" onfocus="muko(this);"/><br/>
<input type="text" onfocus="muko(this);"/><br/>
<input type="text" onfocus="muko(this);"/><br/>
</form>

skift ud med onchange, hvis du mener det er bedre :-)
Avatar billede rackbox Nybegynder
22. januar 2004 - 23:39 #7
Post et svar - du kommer tæt på min løsning, omend jeg ikke fatter hvorfor der ikke findes en "this.elementID" function.. At der skal så meget kode til bare for at finde et elements ID er mig en gåde..
Avatar billede grunken Nybegynder
22. januar 2004 - 23:49 #8
Tjah tjoh :o)

der er vel så meget man ikke lige forstår, men samtidig må jeg personligt pointere at jeg aldrig selv har haft et stort behov for at vide det eksakte elementnummer i rækken :o)

men nu er jeg spørger mig selv om hvofor du ikke bare navngir elementerne name="elm1" o.s.v.

så er den fis jo slået :o)
Avatar billede grunken Nybegynder
22. januar 2004 - 23:49 #9
svaragtig ting lagt :o)
Avatar billede rackbox Nybegynder
22. januar 2004 - 23:51 #10
ikke hvis jeg skal navngive elementer udfra en mysql-database og have mange forsk. forms med mange forsk. elementer som skal gemmes i session-variable i php... men post nu et svar, så du kan få points ;-)
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