Webboard

Pełna wersja: Przycisk wstawiający wybraną treść
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB:1.6.15

na czym polega problem (screen, opis, komunikaty):

Chciałbym wprowadzić do edytora tekstowego przycisk, który po wciśnięciu wstawia do niego wybrany przeze mnie tekst. Jest to konkretniej schemat oceny ze znacznikami kolorów, boldów i rozmiarów czcionek. Jest taka możliwość? Możecie mi podpowiedzieć jak to zrobić?
Sęk w tym, że wiem jak wstawić sam przycisk i jest już dodany. Nie umiem napisać formuły, która wrzuci treść do edytora.
Masz w tym linku ostatni kod http://community.mybb.com/thread-95808.html który odpowiada za wstawianie kodu do edytora.
Kod:
insertSpoiler: function()
    {
        selectedText = this.getSelectedText($(this.textarea));
        title = prompt("Please enter a title for your spoiler.", "");

        if(title)
        {
            if(!selectedText)
            {
                text = prompt("Enter a text for your spoiler.", "");
            }
            else
            {
                text = selectedText;
            }

            if(title && text)
            {
                this.performInsert("[spoiler="+title+"]"+text+"[/spoiler]", "", true, false);
            }

        }
Kombinuj.
Ok, ogarnąłem wprowadzanie tekstu, ale jak wrzucę ten mój schemat w treść, to edytor klęka i nie działa. Czyżby nie można było wprowadzać składni takiej jak np.

Kod:
[color=#A9A9A9][size=large]x/10[/size][/color]

??


edit

Problem rozwiązany. Nie pomyślałem, że to js i trzeba dawać nawet w kodzie \n zamiast entera dla nowej linii. Hula, dziękuję za pomoc i temat do zamknięcia.
Szczerze, to nie znam się na tym, spróbuj tak:
Kod PHP:
insertSpoiler: function()
    {
        
selectedText this.getSelectedText($(this.textarea));
        
title prompt("large""");
        
title2 prompt("#A9A9A9""");
        if(
title && title2)
        {
            if(!
selectedText)
            {
                
text prompt("x/10.""");
            }
            else
            {
                
text selectedText;
            }

            if(
title  && title2 && text)
            {
                
this.performInsert("[color="+title2+"][size="+title+"]"+text+"[/size][/color]"""truefalse);
            }

        } 
Wystarczy tak:

Kod:
    insertNAZWABUTTONA: function()
    {
    
            {
                this.performInsert("TREŚĆ WPROWADZANEGO TEKSTU");
            }

        
    },

Tylko trzeba pamiętać, żeby zamiast enterów w kodzie pisać \n, przykład jak u mnie:

Kod:
[b][color=#C71585]Melodie / harmonie / aranżacja:[/color][/b] \n [color=#A9A9A9][size=large]x/10[/size][/color]

W edytorze wygląda tak:

Kod:
[b][color=#C71585]Melodie / harmonie / aranżacja:[/color][/b]
[color=#A9A9A9][size=large]x/10[/size][/color]