30. august 2006 - 11:29
Der er
14 kommentarer og 1 løsning
Fokus på select-boks
Jeg har det her kode: <tr id="f6" style="display:block;"><td><?php echo generer_select('06', $FEJL_NO_06); ?></td><td> </td><td><table cellpadding="0" cellspacing="0" border="0"><tr><td><INPUT type="Text" name="FEJL_6" size="30" value="<?php echo $FEJL_6; ?>" maxlength="60" onchange="fold_ud(7);"></td></tr></table></td></tr> <tr id="f7" style="display:none;"><td><?php echo generer_select('07', $FEJL_NO_07); ?></td><td> </td><td><table cellpadding="0" cellspacing="0" border="0"><tr><td><INPUT type="Text" name="FEJL_7" size="30" value="<?php echo $FEJL_7; ?>" maxlength="60" onchange="fold_ud(8);"></td></tr></table></td></tr> Er det muligt at få fokus på den selectboks der kommer frem som følge af den onchange?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
30. august 2006 - 11:41
#1
<ole> Ja, hvis du viser os funktionen, kan du få at se, hvordan :) /mvh </bole>
30. august 2006 - 11:42
#2
Arh er det nu også nødvendigt med alle oplysningerne... ;) function fold_ud(tmp) { f=document.FORM_SYNSDATA; for(i=6;tn=f["FEJL_"+i];i++)if (tn.value != "") { document.getElementById("f"+tmp).style.display='block'; document.getElementById("vis").style.display='none'; document.getElementById("luk").style.display='none'; } }
30. august 2006 - 12:50
#3
Mon ikke, der skal stå: function fold_ud(tmp) { var o, f=document.FORM_SYNSDATA; for(i=6;tn=f["FEJL_"+i];i++)if (tn.value != "") { o = document.getElementById("f"+tmp); o.style.display='block'; o.focus(); document.getElementById("vis").style.display='none'; document.getElementById("luk").style.display='none'; } }
30. august 2006 - 12:52
#4
Det er ikke til at vide med sikkerhed, når du skriver PHP-koden. Det, der er interessant, er HTML'en, PHP spytter ud :)
30. august 2006 - 12:53
#5
Hvis bare det var så simpelt... Det virker desværre ikke.
30. august 2006 - 12:54
#6
Forresten vil det så ikke sætte fokus på den <tr> i stedet for på den select der bliver genereret?
30. august 2006 - 12:57
#7
Kan det lade sig gøre hvis det bliver gjort med getElementByName() i stedet for? der er nemlig ikke id på select'en, men der er unikke navne på dem selvom de bliver genereret på den måde.
30. august 2006 - 12:58
#8
Det ville være meget lettere at forholde sig til dine spørgsmål med noget relevant kode :)
30. august 2006 - 13:00
#9
Helt sikkert. Hvad er det du eftersøger? jeg kan godt kopiere select og input ind fra kilden hvis det er.
30. august 2006 - 13:06
#10
Kode taget fra "vis kilde": <tr id="f6" style="display:block;"> <td> <select name="FEJL_NO_06" size="1"> <option value="0" SELECTED>Vælg fejltype</option> <option value="02">02 - Identifikation og påskrifter</option> <option value="03">03 - Vægt og dimensioner</option> <option value="04">04 - Styreapparat</option> <option value="05">05 - Bremser</option> <option value="06">06 - El-anlæg</option> <option value="07">07 - Motor, støj og forurening</option> <option value="08">08 - Bærende elementer</option> <option value="09">09 - Karrosseri, opbygning mv.</option> <option value="10">10 - Indre indretning, udsyn mv.</option> <option value="11"> - Andet</option> </select> </td> <td> </td> <td> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> <INPUT type="Text" name="FEJL_6" size="30" value="" maxlength="60" onchange="fold_ud(7);"> </td> </tr> </table> </td> </tr> <tr id="f7" style="display:none;"> <td> <select name="FEJL_NO_07" size="1"> <option value="0" SELECTED>Vælg fejltype</option> <option value="02">02 - Identifikation og påskrifter</option> <option value="03">03 - Vægt og dimensioner</option> <option value="04">04 - Styreapparat</option> <option value="05">05 - Bremser</option> <option value="06">06 - El-anlæg</option> <option value="07">07 - Motor, støj og forurening</option> <option value="08">08 - Bærende elementer</option> <option value="09">09 - Karrosseri, opbygning mv.</option> <option value="10">10 - Indre indretning, udsyn mv.</option> <option value="11"> - Andet</option> </select> </td> <td> </td> <td> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> <INPUT type="Text" name="FEJL_7" size="30" value="" maxlength="60" onchange="fold_ud(8);"> </td> </tr> </table> </td> </tr> Og så lige funktionen igen: function fold_ud(tmp) { var o, f=document.FORM_SYNSDATA; for(i=6;tn=f["FEJL_"+i];i++)if (tn.value != "") { o = document.getElementById("f"+tmp); o.style.display='block'; o.focus(); document.getElementById("vis").style.display='none'; document.getElementById("luk").style.display='none'; } }
30. august 2006 - 13:26
#11
Så er det vel noget à la: function fold_ud(tmp) { var o, f=document.FORM_SYNSDATA; for(i=6;tn=f["FEJL_"+i];i++)if (tn.value != "") { o = document.getElementById("f"+tmp); o.style.display='block'; j = i<10 ? "0"+i : i; f["FEJL_NO"+j].focus(); document.getElementById("vis").style.display='none'; document.getElementById("luk").style.display='none'; } }
30. august 2006 - 13:29
#12
Så er den der næsten.. den sætter focus på select'en før, men der er forholdsvis simpelt at ændre på... håber jeg.
30. august 2006 - 13:42
#13
Det lykkedes, hvis du lige smider et svar osv. ;D
30. august 2006 - 14:11
#14
Det bør kunne rettes med: function fold_ud(tmp) { var o, f=document.FORM_SYNSDATA; for(i=6;tn=f["FEJL_"+i];i++)if (tn.value != "") { o = document.getElementById("f"+tmp); o.style.display='block'; j = i+1; j = j<10 ? "0"+j : j; f["FEJL_NO"+j].focus(); document.getElementById("vis").style.display='none'; document.getElementById("luk").style.display='none'; } }
30. august 2006 - 14:39
#15
Tak for points ;o)
Vi tilbyder markedets bedste kurser inden for webudvikling