tach community,
ich habe mehrere elemente auf einer Seite, die mit einem TabIndex belegt sind.
nach einem reload moechte ich, dass bei einem bestimmten element angefangen wird. irgendwo in der mitte.
wie definiere ich die funktion dafuer?
logisch:
if(reload=1)
starte bei tabindex(12)
wenn ich dann die tabtaste druecke sollte als naechstes element die 13 angesprungen werden. funktioniert das?
Eine Möglichkeit besteht darin, dass du dir einen unsichtbaren
Frame anlegst, in dem eine JavaScript Variable die Anzahl der reloads
festhält. Jedes mal wenn die Formularseite neugeladen wird (beispielsweise durch submit Button oder ähnlich), muss diese Variable hochgezählt werden. Dies kann mittels einer Funktion realisiert werden die mittels onLoad Eventhandlers im body tag die Variable im anderen Frame hochzählt.
onLoad=„parent.oben.reloads++“
„oben“ wäre hierbei der name des unsichtbaren frames und „reloads“ der name der variable.
Nach(!) dem Aufbau des Formulars überprüfst du dann in einem seperatem skriptbereich, ob die Variable größer als der Ausgangswert+1 ist.
Ist dies der Fall, kannst du deinem gewünschten Feld anhand des Feldnamens den Focus zuteilen. Die tabindex reihenfolge bleibt natürlich bestehen.
if(parent.oben)
{
//document.write(parent.oben.reloads);
if(parent.oben.reloads>1)
{
document.forms[0].feld12.focus();
}
else
{
document.forms[0].feld1.focus();
}
}
Viel Erfolg weiterhin.
Gruß DP
Hi DP
Frames ist leider nicht moeglich.
Ich muss innerhalb einer JSP Seite mit vorhandenen
Elementen auskommen.
Ich darf zwar dazustricken… aber keine Frames.
Will sagen… ich MUSS das mit TAB Index machen.
also. … beispielsweise.das problem:es handelt sich um ei…
Hi DP
Frames ist leider nicht moeglich.
Ich muss innerhalb einer JSP Seite mit vorhandenen
Elementen auskommen.
Naja wenn du die HTML Seite über JSP erzeugst…
z.B. kannst du dir eine Bean anlegen, eine einfache Datenklasse die eine Variable enthält die die reload anzahl enthält. Setz den Scope entsprechend (session sollte passen). Das ganze ist dann ungefähr so wie eine Session Variable in PHP.
Diese variable muss dann auch via Java hochgezählt werden. Das Element das nach mehrfachaufruf der seite den focus erhalten soll wird von dir mit einer id ausgestattet. Wenn deine Variable jetzt einen höheren Wert als 1 annehmen sollte, gibst du via JSP nach Ausgabe deiner 60 Elemente einen JavaScript Block aus, der deinen Element dem Fokus gibt. Schema:
document.getElementById(„deineLustigeId“).focus();
Viel Erfolg weiterhin. DP