Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: COLOR PICKER wbudowany do bbeditor
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
KrzysiekKCN
Witam. Na start powiem że z java scriptem nie mam zbyt dobrych kontaktów.

Otóż mam kod do BBCODE, i chciał bym żeby funkcja POBIERAŁA kolor z jakiejś palety i zapisywała ją jako zmienną, jednak ja już mam problem przy pobraniu zmiennej ^^ A właściwie przy wyświetleniu komunikatu.

Chciał bym żeby wyglądało to tak jak ze zdjęcia, lub może tak jak tu na forum? (Cała pierwsza linia, czcionki rozmiar i kolory? Już sam nie wiem.)

Tak to by miało wyglądać


Tak wygląda


A taki jest kod tej funkcji? Procedury? W każdym bądź razie odpowiada za kolor.
  1. case '#kolor':
  2. var color=prompt('<img src="icons/small.png">"Wpisz preferowany kolor', 'black');
  3. et.insertAroundCursor({'before': '<font color="' + color + '">', 'after': '</font>'});
  4. break;


Czy jest to do zrobienia? Z góry dzięki, i proszę o pomoc.
skowron-line
Osobiście używam color picker (mootools)

[JAVASCRIPT] pobierz, plaintext
  1. var r = new MooRainbow('color', {
  2. id: 'colorPicker',
  3. onChange: function(color)
  4. {
  5. et.insertAroundCursor({'before': '<font color="' + color.hex + '">', 'after': '</font>'});
  6. }
  7. });
[JAVASCRIPT] pobierz, plaintext

nie pamiętam czy to dokładnie będzie hex, ja używam rgb.
KrzysiekKCN
Możliwe że coś źle robię, ale nie działa.
W pliku add.php (tutaj mam formularz i te całe bbcody) wczytałem ten mooRainbow.js i mooRainbow.css a w skrypcie bbcode mam:


i jeszcze Kod mooTools wogole blokuje funkcje mojego BBCODU.
[JAVASCRIPT] pobierz, plaintext
  1. case '#kolor':
  2. var r = new MooRainbow('color', {
  3. id: 'colorPicker',
  4. onChange: function(color)
  5. {
  6. et.insertAroundCursor({'before': '<font color="' + color.hex + '">', 'after': '</font>'});
  7. }
  8. });
  9. break;
[JAVASCRIPT] pobierz, plaintext



i jeszcze jeden problem, bo wyczytałem że pętla for działa na tej samej zasadzie co w C++, więc do tworzenia wykazu mam taki kod:
[JAVASCRIPT] pobierz, plaintext
  1. case '#punktor':
  2. var punkt=prompt('Jak długa ma być lista?', '4');
  3. et.insertAroundCursor({'before': '<ul>', 'after': ''});
  4. for (i=1; i>=punkt; i++)
  5. {
  6. et.insertAroundCursor({'before': '<li>', 'after': '</li>'});
  7. }
  8. et.insertAroundCursor({'before': '', 'after': '</ul>'});
  9. break;
[JAVASCRIPT] pobierz, plaintext

a jedyne co wyświetla to: <ul> COS TUTAJ </ul>

------------------------------------------

Dodam jedynie że kod:

[JAVASCRIPT] pobierz, plaintext
  1. case '#kolor':
  2. var r = new MooRainbow('color', {
  3. id: 'colorPicker',
  4. onChange: function(color)
  5. {
  6. et.insertAroundCursor({'before': '<font color="' + color.hex + '">', 'after': '</font>'});
  7. }
  8. });
  9. break;
[JAVASCRIPT] pobierz, plaintext


Odpowiada za wykonanie zmiany koloru po kliknięciu przycisku, który zdefiniowany jest tak:
[JAVASCRIPT] pobierz, plaintext
  1. kolor: new Hash({
  2. title: 'Kolor',
  3. icon: bbeSettings.get('imageBase') + 'color.png'
  4. }),
[JAVASCRIPT] pobierz, plaintext


Więc wszelkie akcje muszą być przeprowadzone właśnie w jednym wyborze case. Paleta kolorów musi otwierać się i zamykać w tym przycisku.
Znalazłem jeszcze takie coś, tylko nie wiem czy da się to dodać do skryptu: COLOR PICKER.

Mój formularz wygląda następująco:
  1. <legend align="top">Aktualności</legend>
  2. <form action="add_script.php" method="post">
  3. <table style="border: 1px solid black;" cellpadding="2" cellspacing="2">
  4. <tr>
  5. <td>Autor:</td>
  6. <td><input type="text" name="autor" maxlength="60" size="30"></td>
  7. </tr>
  8. <tr>
  9. <td>Temat:</td>
  10. <td><input type="text" name="temat" maxlength="60" size="30"></td>
  11. </tr>
  12. <tr>
  13. <td>Tresc:</td>
  14. <td><textarea class="bbeditor" id="content_1" name="content" ></textarea></td>
  15. </tr>
  16. <tr>
  17. <td>Publikacja:</td>
  18. <td><input type="radio" name="publikacja" value="tak">TAK<br><input type="radio" name="publikacja" value="nie">NIE</td>
  19. </tr>
  20. <tr>
  21. <td><input type="submit" value="Zapisz"></td>
  22. <td><input type="reset" value="Reset"></td>
  23. </tr>
  24. </tbody>


P.S. BBeditor ma już w sobie Mootools.

na teraz, więcej nie wymyśle. Życzę dobranoc
skowron-line
Ten kolor picker który znalazłeś, to w czystym JS.
Wrzuć całość na jsfiddle.org i pokaż jak działa skrypt łatwiej będzie Ci pomóc.
KrzysiekKCN
Bardzo przepraszam za nękanie forumowiczów.

Wklejam kod którym odczytałem zwykły bbcod z podanego wcześniej skryptu.

  1. $tresc = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tresc);
  2. $tresc = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tresc);
  3. $tresc = preg_replace("#\[u\](.*?)\[/u\]#si",'<u>\\1</u>',$tresc);
  4. $tresc = preg_replace("#\[s\](.*?)\[/s\]#si",'<s>\\1</s>',$tresc);


offtopic.gif
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.