Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Minki lub Znaczniki w formularzu - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Minki lub Znaczniki w formularzu (/thread-minki-lub-znaczniki-w-formularzu)



Minki lub Znaczniki w formularzu - rafciorb - 05-10-2011

Cześć. Mam pytanie, zrobiłem formularz do dodawania newsów i chciałbym zrobić tam dodawanie minek albo znaczników " pogrubione, podkreślone, pochylone " ale żeby było tak jak jest na tym forum, jak się dodaje nowy temat klikam na ikonkę minki i mi się dodaje do formularza a później do newsa. Proszę o pomoc


RE: Minki lub Znaczniki w formularzu - Kartofelek - 05-10-2011

Zadanie błache, ale czeka cię nauka.

1) Wstawiasz do tekstu emoty czyli kombinacje znaków np - Smile, ;-] itp robisz to za pomocą JS np korzystając z poniższej funkcji

Kod:
    function insertTags(tagOpen, tagClose, sampleText) {
        var txtarea;
        txtarea = document.getElementById("jakas_textarea");
        if (document.selection && !is_gecko) {
            var theSelection = document.selection.createRange().text;
            if (!theSelection) {theSelection=sampleText;}
            txtarea.focus();
            if (theSelection.charAt(theSelection.length - 1) == " ") {
                theSelection = theSelection.substring(0, theSelection.length - 1);
                document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
            } else {
                document.selection.createRange().text = tagOpen + theSelection + tagClose;
            }
            // Mozilla
        } else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
            var replaced = false;
            var startPos = txtarea.selectionStart;
            var endPos = txtarea.selectionEnd;
            if (endPos-startPos) {replaced = true;}
            var scrollTop = txtarea.scrollTop;
            var myText = (txtarea.value).substring(startPos, endPos);
            if (!myText) {myText=sampleText;}

            var subst;
            if (myText.charAt(myText.length - 1) == " ") {
                subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
            } else {
                subst = tagOpen + myText + tagClose;
            }
            txtarea.value = txtarea.value.substring(0, startPos) + subst +
            txtarea.value.substring(endPos, txtarea.value.length);
            txtarea.focus();

            if (replaced) {
                var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
                txtarea.selectionStart = cPos;
                txtarea.selectionEnd = cPos;
            } else {
                txtarea.selectionStart = startPos+tagOpen.length;
                txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
            }
            txtarea.scrollTop = scrollTop;
        }
        if (txtarea.createTextRange) {txtarea.caretPos = document.selection.createRange().duplicate();}
    }

2) przy wyswietlaniu tekstu z bacy danych, robisz replace wyszukując podane wyżej ciągi i zamieniając je na odpowiednie obrazki.

Ogólnie jest to banalna sprawa, ale jak powiedziałem - czeka cię nauka. Nauka zapisu do bazy, nauka odczytu z bazy danych i nauka wyszukania i zamiany tekstu (php lub js).


RE: Minki lub Znaczniki w formularzu - rafciorb - 05-10-2011

Mógłbyś mi to bardziej wytłumaczyć. Proszę bo nie rozumiem.


RE: Minki lub Znaczniki w formularzu - Kartofelek - 05-10-2011

Jeszcze raz:
Podpinasz tą funkcję co ci podałem pod guzik z minką. Wtedy wstawiasz do danej textarea dodatkowy tekst np :-)
Po zapisaniu do bazy czy gdzie tam chcesz gdy wyświetlasz newsy zamieniasz (replace) wszystkie wystąpienia tego ciągu ":-)" na kod html czyli <img src="BUZKA.gif" .... />
I tyle.
Lepiej się nie da. Jeżeli nie rozumiesz tego co napisałem, znaczy to że czeka cię nauka:
javasscript jquery podpinanie zdarzeń: http://doman.art.pl/kursjs/kurs/jquery/jquery.html
zapisanie czegoś do bazy: php mysql insert
odczytanie z bazy: php myslq select
zamiana tekstu: php str_replace
I nie są to jedyne rzeczy do nauki dla ciebie. Bo to tylko 1 z metod.