MyBB.de Forum
[NG] BBCode überschreibt Text - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Bugs (https://www.mybb.de/forum/forum-40.html)
+----- Forum: Gemeldete/Nicht gemeldete Bugs (https://www.mybb.de/forum/forum-41.html)
+----- Thema: [NG] BBCode überschreibt Text (/thread-2239.html)



[NG] BBCode überschreibt Text - DDSD - 02.06.2006

Wenn man einen Text per BBCode formatieren will und ihn markiert und dann auf einen Button klickt, wird der Text von der Eingabe nicht übernommen bzw. dann überschrieben.

Der Fehler tritt im 'normalen Modus' bei allen Codes auf (Select nicht getestet, nur Buttons) und im 'erweiterten Modus' bei allen außer B, I, U und den 4 aligns.

Ist leider ein Bug bei den meisten Forensoftware und wäre schön, wenn myBB die erste wäre, bei der alles hinhaut Wink


RE: BBCode überschreibt Text - DDSD - 02.06.2006

Habe auch schon einen Lösung für das Problem gefunden ^^
Jedenfalls einmal für den Firefox und nur für den URL-Code. Keine Sorge, funktioniert trotzdem mit dem IE, halt wie gewohnt.

Code:
function insertHyperlink() {
    var url = prompt("Please enter the URL of the website.", "http://");
    if(url) {
        // New/edited Code Start - only for Mozilla //
        var messageBox = document.input.message;
        if(is_mozilla && messageBox.selectionEnd) {
            var select_start = messageBox.selectionStart;
            var select_end = messageBox.selectionEnd;
            if(select_end <= 2) {
                select_end = messageBox.textLength;
            }
            var start = (messageBox.value).substring(0, select_start);
            var middle = (messageBox.value).substring(select_start, select_end);
            var end = (messageBox.value).substring(select_end, messageBox.textLength);
            if((messageBox.selectionEnd - messageBox.selectionStart > 0)) {
                middle = middle;
            }
            messageBox.value = start+middle+end;
        }
        if(middle == "" || normalmode == true) {
            var urltitle = prompt("If you wish to, you may also insert a title to be shown instead of the URL.", middle);
        } else {
            var urltitle = middle;
        }
        // New/edited Code Start - only for Mozilla //
        if(urltitle) {
            doInsert("[url="+url+"]"+urltitle+"[/url]", "", false);
        } else {
            doInsert("[url]"+url+"[/url]", "", false);
        }
    } else {
        alert("Error!\n\nYou did not enter a URL for the website. Please try again.");
    }
}

Für den Internet Explorer bekomme ich den Code leider nicht zusammen, wäre schön, wenn jemand noch ein else if einfügen könnte.


RE: BBCode überschreibt Text - Michael - 03.06.2006

Der komplette Javascript-Code wurde für MyBB 1.2 neu geschrieben. Damit sollten die Probleme behoben werden.


RE: BBCode überschreibt Text - DDSD - 03.06.2006

Gut. Nur wer weiß, wann die neue Version kommt. Wäre schön wenn dem bald so wäre Wink