Supportnet / Forum / Skripte(PHP,ASP,Perl...)
JSt: Zeichen einfügen im aktuellen Eingabefeld (Fokus) an der aktuellen Stelle
Frage
JavaScript: Zeichen einfügen im aktuellen Eingabefeld (Fokus) an der aktuellen Stelle
Hi,
mein Script soll an in dem aktuellen Feld (das Eingabefeld, das den Fokus hat) an der aktuellen Stelle (dort, wo der Cursor steht) Zeichen einfügen.
Wenn ich jetzt die Auflistung aller Elemente der Form hab,
- wie bekomme ich heraus, welches den Fokus hat
- wie bekomme ich heraus, wo der Cursor steht
(oder alternativ: kann ich einfach dem Dokument die Zeichen senden, so, dass es wie eine Tastatureingabe interpretiert wird?)
Beispiel:
Ein Formular hat 3 Input-Felder. Es ist nicht bekannt, welches der 3 Felder den Focus hat und wo der Cursor steht. Das Scipt soll an der aktuellen Position den Autotext (z.B. Firmennamen) einfügen.
So sieht meine Spielerei bisher aus:
[code]
function InsertAutoText() {
var topwin; // as window
var frames; // as window
var frame; // as window
var doc; // as HTMLDocument
var forms; // as HTMLCollection
var form; // as HTMLFormElement
var elements; // as HTMLCollection
var element; // as HTMLElement
var loc; // as string
var len; // as int
var i; // as int
var e;
try {
topwin= top; // das Haupt-Dokument (enthält Frames)
frames = topwin.frames; // alle Frames des Haupt-Dokuments
frame = frames[0]; // der 1. Frame
loc = frame.location; // URL des 1. Frames
doc = frame.document; // der 1. Frame als Dokument
forms = doc.forms; // die Forms der Seite (normalerweise nur 1)
form = forms[0]; // das Formular
elements = form.elements; // die Elemente des Formulars
len = elements.length; // Anzahl der Elemente
for (i=0; i<len; i++) { // über alle Elemente des Formulars
element = elements[i]; // ein einzelnes Element
alert("Element " + i + ": ID= " + element.id + " Class=" + element.className);
}
} catch (e) {
alert ('Error: ' + e);
}
}
[/code]
Ciao
Frank
Antwort 1 von katy
Hallo Frank,
wenn du folgendes machst:
erhältst du jedesmal, wenn irgendwie der Focus/cursor in diesem Feld ist eine entsprechende Meldung. Du kannst natürlich auch andere Funktionen aufrufen (onfocus="tuirgendwas()).
Dein Durchgehangel und Abfragen ist meines Erachtens damit unnötig, denn das input-feld sagt selbst Bescheid wenn es dran ist.
katy
wenn du folgendes machst:
<input type="text" onfocus="alert(this.id)" id="IDdiesenInputs">
erhältst du jedesmal, wenn irgendwie der Focus/cursor in diesem Feld ist eine entsprechende Meldung. Du kannst natürlich auch andere Funktionen aufrufen (onfocus="tuirgendwas()).
Dein Durchgehangel und Abfragen ist meines Erachtens damit unnötig, denn das input-feld sagt selbst Bescheid wenn es dran ist.
katy