mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 16:08 Benutzername: Passwort: Auto-Login

Thema: JS-Problem oder Normalität? vom 12.05.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JS-Problem oder Normalität?
Autor Nachricht
Angelz
Threadersteller

Dabei seit: 09.11.2005
Ort: Chemnitz
Alter: 44
Geschlecht: Männlich
Verfasst Sa 12.05.2007 09:30
Titel

JS-Problem oder Normalität?

Antworten mit Zitat Zum Seitenanfang

Hi allesamt!

Mal sehn, ob man mir hier helfen kann ^^

Auf meiner privaten Seite hab ich bei den Kommentaren die Möglichkeit eingebaut, Smileys einzufügen. Das klappt auch ganz gut.

Problem: Wenn jemand viel Text schreibt und dann einen Smiley einfügt, wird der zwar an die Position des Cursors gesetzt, aber trotzdem wird der Fokus oder wie man dazu sagt wieder an den Anfang des Textfeldes gesetzt, sprich: egal ob der Smiley oben oder unten im Text eingefügt wird, man sieht nach dem Einfügen immer den oberen Teil des Textes (der Cursor ist aber weiterhin an der Einfügemarke).

Ist das "normal" oder kann man das irgendwie umgehen? Ist ja lästig, nach dem einfügen eines Smileys immer wieder ans Ende des Textes scrollen zu müssen.

Hier der JS-Code:

Code:
var input = document.forms[fName].elements[eName];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  } 


Vielen Dank schonmal! Lächel

PS: Hab gerade gemerkt, dass es beim Posten hier genauso ist. Also kann man das möglicherweise doch nichts machen?[/code]
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Sa 12.05.2007 11:05
Titel

Antworten mit Zitat Zum Seitenanfang

Google hilft. Ergebnisse 1 und 4 scheinen das zu sein, was du brauchst.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Angelz
Threadersteller

Dabei seit: 09.11.2005
Ort: Chemnitz
Alter: 44
Geschlecht: Männlich
Verfasst Sa 12.05.2007 19:09
Titel

Antworten mit Zitat Zum Seitenanfang

Funktioniert Grins Danke!!!!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Formmailer-Problem-neues problem
CSS & DIV Problem
IE 8 Problem
css Problem mit dem IE
Problem mit FTP
php problem
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.