tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
789
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lamavic Lamavic ist offline Mitglied Bronze
    Registriert seit
    Nov 2002
    Beiträge
    42
    Hi,
    ich hab mir zwar schon Javascript Tutorials durchgelesen und auch verschiedene Referenzseiten zu Hilfe genommen, um mir manche Funktionen und Variablen zu erklären, aber ich finde nicht jede vorprogrammierte Funktion mit Erklärung usw...
    Ich habe mir zwar schon ein wenig zusammenklabautert ( ein wenig kenn ich's ja von PHP her, wie's gehen sollte ), aber ich wollte halt ein Textfeld machen, in dem ich (wie hier im Forum) mittels Klick auf einen Smilie zum Beispiel den Text exakt hinter den Cursor (nicht hinter den schon bestehenden Text) setzte...
    Ich glaube u.g. Funktion tut dies, aber ich will es selbst schreiben und können und - vor allem - verstehen was ich da schreibe :/

    könnte eine nette Seele mir diesen Code mal ein wenig erläutern ?
    Ich kann schlecht sagen, was genau ihr mir erklären sollt, einfach evtl nur ganz kurz, was vielleicht die einzelnen Schritte und Funktionen bringen...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    <script language="JavaScript" type="text/javascript"> 
    <!-- 
    function cursor() { 
    if (( navigator.userAgent.indexOf("Opera" ) != -1) || ( navigator.userAgent.indexOf("Netscape" ) != -1)) { 
    text_before = document.formular.message.value; 
    text_after = ""; 
    } else { 
    document.formular.message.focus(); 
    var sel = document.selection.createRange(); 
    sel.collapse(); 
    var sel_before = sel.duplicate(); 
    var sel_after = sel.duplicate(); 
    sel.moveToElementText(document.formular.message); 
    sel_before.setEndPoint("StartToStart",sel); 
    sel_after.setEndPoint("EndToEnd",sel); 
    text_before = sel_before.text; 
    text_after = sel_after.text; 
    } 
    } 
    function insert(AddCode) { 
    cursor(); 
     
    document.formular.message.value = text_before + AddCode + text_after; 
    document.formular.message.focus(); 
    } 
    </script>


    mit freundlichen Grüßen,
    Laddy
    Geändert von Lamavic (18.09.03 um 19:13 Uhr)
     
    MySql ist keine Kunst. Heute bastelt man sich selbst seine Datenbanken ASCII...rulet ;).

  2. #2
    envire envire ist offline Rookie
    Registriert seit
    Jan 2002
    Ort
    Nürnberg
    Beiträge
    7
    Hi,

    erst wird der Text in zwei Teile geteilt:

    - vor dem Courser
    - nach dem Courser

    und dann wird das Messagefeld mit Text vor dem Courser, Smilie und Text nach dem Courser gesetzt.

    Funktioniert natürlich mal wieder nur mit dem IE, da das keine offiziellen Methoden sind, die da verwendet werden...
     

  3. #3
    Registriert seit
    Apr 2002
    Ort
    Ingolstadt
    Beiträge
    2.940
    Hallo,

    eine referenz zu den verwendeten Methoden findest du unter: http://msdn.microsoft.com/library/de...ce/methods.asp

    ciao