Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-01-2009, 15:10   #1 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
javascript-string an current cursor position einfügen!

hallo leute,
meine letzte javascript frage:
ich versuche gerade bei einem formular einen kleinen "EMAIL EINFÜGEN" button zu erstellen!

ich bin schon recht weit, es hackt nur noch minimal am einfügen der email zeile an der derzeitigen cursor postition!

habe viel recherchiert und bin so weit:
PHP-Code:
function genmail() {
    var 
input document.getElementById('description');
    
input.focus();
    var 
mail;

    do {

        
mail prompt("Geben Sie hier die gewünschte Emailadresse ein.","@"); if(mail != null) {
        var 
= new RegExp(/^[w]+@[w]+.[w]{2,4}$/);
        
        if (!
v.test(mail)) { 

                
alert('Bitte geben Sie eine gültige Emailadresse ein.');

            } else {
        
                     
/* für Internet Explorer */
              
if(typeof document.selection != 'undefined') {
                
/* Einfügen des Formatierungscodes */
                
var range document.selection.createRange();
                
                
range.text '<a href="mailto:'+mail+'">'+mail+'</a>';
                
/* Anpassen der Cursorposition */
                
range document.selection.createRange();
                
range.move('character''<a href="mailto:'+mail+'">'+mail+'</a>');
                
                
range.select();
              }
              
/* Firefox Safari und andere Browser */
              
else if(typeof input.selectionStart != 'undefined')
                  {
                    
/* Einfügen des Formatierungscodes */
                    
var start input.selectionStart;

                    
input.value input.value.substr(0start) + '<a href="mailto:'+mail+'">'+mail+'</a>'
                    
                    
                  
}
            }
        } 
    } while(
mail != null && (!v.test(mail)));
 

Es hackt nach der zeile "/*Firefox Safari und andere Browser*/" :

1.) wenn ich in die leere textarea klicke und link einfüge dann wird er normal am start eingefügt!
2.) wenn ich in meine textarea bereits etwas geschrieben habe und per enterdrücken ein paar umbrüche runterspringe und email einfüge klappt alles wunderbar...-> wird genau dort eingefügt!
_____________________________________
3.) aber sobald ich einen text in meine textarea geschrieben habe und an den anfang dieses textes einen emaillink einfügen will, dann wird dieser eingefügt und alles andere ist weg! weiß jemand wieso?

ich komme einfach nicht auf die lösung!
danke und liebe grüße
matthias
mathiregister ist offline   Mit Zitat antworten
Alt 03-01-2009, 16:12   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Schau dir das mal an:
bbcode mit markiertem Text
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 03-01-2009, 17:45   #3 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
danke,
eines kapier ich allerdings bei diesen bbcodes nicht!

muss ich nur das bbcode.js einbetten und schon funktioniert alles?

also wenn ich meine inputform dann submitten würde, würde dann alles in echte html-codes umgewandelt! oder muss ich da noch irgend eine datei einbetten oder sonst was machen?

danke und lg
mathiregister ist offline   Mit Zitat antworten
Alt 04-01-2009, 00:05   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Nein dazu brauchst du dann noch ein Script welches die bbcode-Tags interpetiert und daraus wiederum HTML macht. Das passende Script in PHP gibts hier:

Kleine BBcode-Klasse
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-01-2009, 08:05   #5 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
danke, habe mir jetzt deine kleine bbcode -klasse runtergeladen und angesehen! echt toll!

nur... beim einfügen eines links oberhalb eines textes klappt das bei deinem beispiel auch nicht!

da wird der bereits vorhandene text zwar nicht gelöscht, aber der link wird dann immer am ende des strings eingefügt!


und noch eine kleine frage: das mit dem umwandeln habe ich kapiert, aber ich speichere meine nachrichten die im eingabefeld submitted werden in eine kleine db! diese enthalten dann ja wiederum reinen html code, da der bbcode ja umgewandelt wurde! wenn ich die nachrichten aber wieder editieren will und meine speichervariable aus der DB aufrufe, dann steht in meiner textarea reiner html code und nicht mehr der bbcode!
muss ich da dann genau wieder rückwärts wandeln um wieder den bbcode auszugeben?

danke und gruß
mathiregister ist offline   Mit Zitat antworten
Alt 04-01-2009, 22:57   #6 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Eine Methode ist beide Texte, sowohl interpretiert als auch nichtinterpretiert zu speichern. Eine andere Methode ist das Umwandeln welches hier über PHP geschieht mittels JS zu machen. Dazu musst du aber wiederum für jedes BB-Tag eine Funktion schreiben. Zudem sind hier die Möglichkeiten eingeschränkt.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele