Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]bbcode - czyli jak to ugryźć
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam, przeczytałem kilka tematów na ten temat i tak naprawdę większość z nich to pytania w trakcie realizacji, a ja nie wiem od czego zacząć, chciałbym uzyskać takie okienko w jakim właśnie teraz piszę swojego posta, może nie aż tak bardzo rozbudowane.
Właściwie potrzebuję tylko znaczniki B I U i ewentualnie 5 kolorów tekstu.

Proszę o pomoc bo nie wiem jak się za to zabrać.

Ściągnąłem "markitup" i mniej więcej wiem jak to działa, wiem że js jest tam podstawą, a ja niestety bardzo raczkuję jeśli chodzi o js.

Chciałbym, żeby użykownik mógł wpisywać wiadomości w takim okienku jak to, oraz żeby później sformatowany text wyświetlał się na stronie.
Pozdrawiam serdecznie i dziękuję za pomoc.
tvister
tinymce - łatwiej się chyba nie da
neo1986kk
zainstalowałem to i sprawdzam sobie powoli, jedyne co mi przeszkadza to to, że jest on za bardzo rozbudowany. Czy da się ograniczyć go tylko do B I U?
skowron-line
  1. <script type="text/javascript">
  2. function addText(elname, wrap1, wrap2)
  3. {
  4. if (document.selection)
  5. { // for IE
  6. var str = document.selection.createRange().text;
  7. document.forms['inputform'].elements[elname].focus();
  8. var sel = document.selection.createRange();
  9. sel.text = wrap1 + str + wrap2;
  10. return;
  11. }
  12. else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined')
  13. { // for Mozilla
  14. var txtarea = document.forms['inputform'].elements[elname];
  15. var selLength = txtarea.textLength;
  16. var selStart = txtarea.selectionStart;
  17. var selEnd = txtarea.selectionEnd;
  18. var oldScrollTop = txtarea.scrollTop;
  19. //if (selEnd == 1 || selEnd == 2)
  20. //selEnd = selLength;
  21. var s1 = (txtarea.value).substring(0,selStart);
  22. var s2 = (txtarea.value).substring(selStart, selEnd)
  23. var s3 = (txtarea.value).substring(selEnd, selLength);
  24. txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
  25. txtarea.selectionStart = s1.length;
  26. txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
  27. txtarea.scrollTop = oldScrollTop;
  28. txtarea.focus();
  29. return;
  30. }
  31. else
  32. {
  33. insertText(elname, wrap1 + wrap2);
  34. }
  35. }
  36. </script>
  37. <body>
  38. <form action="" method="post" id="inputform">
  39. <input type='button' value='B' onClick="addText('body', '<b>', '</b>');">
  40. <input type='button' value='P' onClick="addText('body', '<p>', '</p>');">
  41. <input type='button' value='H1' onClick="addText('body', '<h1>', '</h1>');">
  42. <input type='button' value='H2' onClick="addText('body', '<h2>', '</h2>');">
  43. <input type='button' value='H3' onClick="addText('body', '<h3>', '</h3>');">
  44. <input type='button' value='H4' onClick="addText('body', '<h4>', '</h4>');">
  45. <textarea name='body' cols='95' rows='10' class='textbox'></textarea>
  46. </form>
  47. </body>

nie pamiętam kto mi podał kod funkcji. Bardzo prosta funkcja w JS.
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.