timestamp
Mitglied Käsekuchen
Hi
ich stehe hier gerade vor einem Problem. Ich schreibe gerade an einer Art "Excel" für das Internet und möchte dort durch das Drücken der Tabulatortaste in die nächste Zelle springen. Leider schiebt mir der Browser den Cursor allerdings jedesmal in die Adresszeile. Gibt es da Abhilfe?
edit: Ich habe es jetzt soweit hinbekommen, dass ich ins jeweils nächste Feld springen kann (geänderte Zeile: 8). Nur wenn ich im Letzten Feld bin (Zeile27) springe ich nicht zurück an den Anfang. Gibt es dafür noch einen Lösungsvorschlag?
ich stehe hier gerade vor einem Problem. Ich schreibe gerade an einer Art "Excel" für das Internet und möchte dort durch das Drücken der Tabulatortaste in die nächste Zelle springen. Leider schiebt mir der Browser den Cursor allerdings jedesmal in die Adresszeile. Gibt es da Abhilfe?
Javascript:
function edit(i,k){
saved = false;
if( document.getElementById('editfield') != null )
return false;
obj = document.getElementById(i+"."+k);
value = obj.innerHTML;
obj.innerHTML = "<input type='text' onkeydown='keyAction(event,this);' id='editfield' class='"+i+"."+k+"' onblur='updateTable("+i+","+k+",this.value);' value='"+value+"' />";
setTimeout("document.getElementById('editfield').focus()", 100);
}
function updateTable(i,k,value){
table[i][k] = value;
document.getElementById("outer").innerHTML = displayTable(table);
}
function keyAction(e, obj){
if( e.keyCode == 13 )
obj.blur();
if( e.keyCode == 9 ){
obj.blur();
id = obj.className.split('.');
i = parseInt(id[0]);
k = parseInt(id[1]);
if( typeof table[i][k+1] != "undefined" )
edit(i,(k+1));
else if( typeof table[i+1][0] != "undefined" )
edit((i+1),k);
else
edit(0,0);
}
}
edit: Ich habe es jetzt soweit hinbekommen, dass ich ins jeweils nächste Feld springen kann (geänderte Zeile: 8). Nur wenn ich im Letzten Feld bin (Zeile27) springe ich nicht zurück an den Anfang. Gibt es dafür noch einen Lösungsvorschlag?
Zuletzt bearbeitet: