1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

JavaScript: Zeichen einfügen im aktuellen Eingabefeld (Fokus) an der aktuellen Stelle

Discussion in 'Programmieren' started by Frank37, Oct 23, 2008.

Thread Status:
Not open for further replies.
  1. Frank37

    Frank37 Byte

    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);
      }
    }
    
    
    (falls es nur eine Browser-spezifische Lösung gibt, suche ich eine für FF)

    Ciao
    Frank
     
  2. VB-Coder

    VB-Coder Megabyte

    Zur Fokus Frage:
    Code:
    document.formular.name.focus() - Fokus auf das element setzen
    document.formular.name.getfocus() - prüfen ob das Element einen Fokus hat (liefert TRUE/FALSE zurück)
    
    Text an Corsorposition einfügen
     
  3. Frank37

    Frank37 Byte

    Hi VB-Coder,

    danke für die Antwort.

    Da das Java-Script durch einen Butoon gestartet wird, kommt das lostFocus zu früh.
    Ich statte jetzt alle Textfelder in der Form mit einem 'onFocus="SaveFocus(this)"' aus, wo ich mir das letzte aktive Textfeld merke.

    Danach mit dem BBCode kann ich den Text entsprechend ändern (geht sogar Frame-übergreifend)

    Danke

    Frank
     
Thread Status:
Not open for further replies.

Share This Page