Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] formularz / tagi
Forum PHP.pl > Forum > Przedszkole
flea
Mam do Was banalną prośbę, jednak ja, kompletny laik w tych sprawach nie mogę sobie dać rady.
Mam formularz php i chcę zrobić do niego coś w stylu takiego przycisku, który dodaje tagi, podobne jest na forum, np. code, img w tych nawiasach kwadratowych, tylko jak takie coś zrobić, żeby dodawał do formularza w php? Z góry dziękuje za pomoc, pozdrawiam. party.gif
Shili
Tzn jak dodawał? Po kliknięciu na tag żeby go ustawiał w tym okienku, czy co? Czy może konwertował na kod html?
flea
Chciałem, żeby go tylko dodawał do tego okienka w formularzu
qba10
chcesz zrobić coś al'a bbcode?

Poszukaj na forum było tego dużo....
flea
Może to trochę źle sprecyzowałem. Mam na myśli prosty skrypt, dodatek do formularza, nie nazwałbym nawet tego bbcode. Chcę zrobić prosty przycisk do formularza, który po wciśnięciu doda na końcu linijki w formularzy ustawiony przeze mnie ciąg znaków smile.gif
Shili
Kod
<script>
                        function dodaj(gdzie, tekst)
                        {
                            document.getElementById(gdzie).innerHTML += tekst;
                        }
                    </script>
                    <textarea id="gdzie"></textarea>
                    <input type="button" value="dodaj" onclick="dodaj('gdzie', 'tekst');" />

Przy inputach innerHTML trzeba zastąpić value.
Xniver
No to takie rzeczy raczej się robi w JSie.

  1. <script type="text/javascript">
  2. function add(toAdd)
  3. {
  4. var area = document.getElementById('bbeditor');
  5.  
  6. area.value += toAdd;
  7. }


Do pola(input, textarea etc.) dodaj atrybut id="bbeditor" ,a do przycisku ,który ma dodawać coś do pola dodaj atrybut onclick="add('tekst do dodania')" (zmień "tekst do dodania" na tekst ,który chcesz dodać)

@Shili - do textarea również trzeba użyć .value
qba10
Ja tego używam do bb code smile.gif

Kod
function dodaj() {

    var txtarea = document.getElementById("id");
    var selStart = txtarea.selectionStart;
    var selEnd = txtarea.selectionEnd;
    
    document.getElementById("area").value=
    (txtarea.value).substring(0,selStart)+
    "dany ciag znaków"+(txtarea.value).substring(selStart, selEnd)+"" +
    (txtarea.value).substring(selEnd,txtarea.value.length);
}


Oto skrypt js (troche niedokladny jak ktos zna js to niech poprawi, ale zadziała napewno smile.gif )

Teraz html:
  1. <textarea id="id" name="tresc" ></textarea>
  2. <button onclick="dodaj();return false;">Dodaj string</button>
Shili
Cytat
@Shili - do textarea również trzeba użyć .value
Sprawdź sobie winksmiley.jpg
Xniver
@Shili - http://www.w3schools.com/htmldom/dom_obj_textarea.asp zobacz sobie atrybut value
Shili
I dokładnie to samo robi js-owy innerHTML
Czyli można spokojnie użyć value, a można innerHTML, niekoniecznie trzeba value. Co nie znaczy, że nie można używać jednego czy drugiego.
Xniver
Cóż, ja wole pisać zgodnie ze standardami. BTW, mi na firefoxie@linux innerHTML w textarea nie działał.
Shili
Ale innerHTML nie jest niezgodny ze standardami tongue.gif
Mylisz trochę pojęcia - innerHTML zwraca po prostu html między jakimiś tagami (formalnie w textarea jest to czysty tekst), value w przypadku textarea robi dokładnie to samo. W czystym html i php dokopać nie idzie się faktycznie bez value, ale pod względem js nie ma to żadnego znaczenia.

Standardy w przypadku textarea określają tylko jakie atrybuty mogą wystąpić, a nie jakie metody js można do nic użyć.

Nie działał?
Szczerze powiedziawszy tym mnie trochę zdziwiłeś, bo nie przypominam sobie, żebym miała z tym problemy za czasów działającego linuksa, ale jak znajdę live cd nie omieszkam sprawdzić winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.