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
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
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