Hej, Hittade lösningen.Lodrät tabbning
Jag har en tabell bestående av en matris 3 * 3 fält alla input fält, Nu vill jag att om man trycker på tab i cell 1,1 skall hamna på cell 2,1 en tab där skall hoppa till 3,1. Däremot en tab i cell 1,2 skall som vanligt hamna i 1,3. Var tab skickar cursorn i cell 1,3 är mindre intressant.
Att sätta focus är enkelt:
document.all.a4020_omf.focus();
Att fånga tabtecknet är inte heller så svårt:
if (event.keyCode==9)
Att anrop funktion som gör jobbet ligger i input boxen:
onkeydown="autoTab (event,'4010');return false;"
Så här ser funktionen ut:
function autoTab (event,destination)
{
if (event.keyCode==9)
{
switch (destination)
{
case "4010":
document.all.a4020_omf.focus();
break;
case "4020":
document.all.a4030_omf.focus();
break;
case "4030":
document.all.a4010_omf.focus();
break;
}
}
Om jag har med return false; i anropet onkeydown, funkar det som det ska, men då kan jag inte mata in några andra värden. Tar jag däremot bort return false; då kan jag mata in värden. Trycker jag på TAB kommer cursorn att hoppa till 2,1 tack vare document.all.a4020_omf.focus();
Men sedan kommer tab att exekveras och cursor hamnar i 2,2.
Nån som har nåt bra tips?
/Stefan
Sv: Lodrät tabbning
Man sätter tabindex i den ordning man vill att tab skall gå.
/Stefan