Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP] tinymce z dopisywaniem tekstu przy kliknięciu
dentopolis
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


mam pole textarea z tinymce. poniżej w spanach jakieś słowa. chcę aby po kliknięciu na nie, wyświetlały się w polu textarea i dopisywały się tam gdzie kursor a nie zawsze na końcu. już mi to działało ale gdzieś mam teraz błąd i nie mogę dostrzec czemu to przestało działać.

kod źródłowy jest tutaj: http://www.dentopolis.org/opisywanie.txt

a tak wygląda strona:


czy ktoś wie jak to rozwiązać?

bardzo proszę o pomoc.

Ten post edytował dentopolis 26.09.2017, 10:40:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Sprawdź różnice między atrybutami id a class elementu - jak się je nadaje, a w związku z tym jak pobiera. Przeanalizuj jak to zrobiłeś na elemencie <textarea>.
Polecam Ci też to: https://www.w3schools.com/js/js_syntax.asp (sekcja: JavaScript is Case Sensitive).

A gdybyś zajrzał do konsoli przeglądarki, to widziałbyś błąd. I być może nie wskazywałby wprost na rozwiązanie, ale byłbyś bliżej.


--------------------
Go to the top of the page
+Quote Post
dentopolis
post
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


hmm..poprawiłem klasę oraz id textarea:
<textarea id='tinymce' class='mce-content-body' name='procedury'></textarea>

skrypt wygląda tak:
http://www.dentopolis.org/opisywanie.php

a kod źródłowy:
http://www.dentopolis.org/opisywanie.txt

ale nadal mam w konsoli błąd: ReferenceError: $ is not defined
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A dołączyłeś jquery?


--------------------
Go to the top of the page
+Quote Post
dentopolis
post
Post #5





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


gdy dołączam:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

textarea w ogóle się nie pokazuje.konsola:
TypeError: tinymce.util is undefined[Learn More] theme.min.js:1:758
TypeError: b is not a constructor
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


https://api.jquery.com/jquery.noconflict/


--------------------
Go to the top of the page
+Quote Post
dentopolis
post
Post #7





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


czy tak powinno być?
  1. <script src="https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=fhjz0rdlcqb3kpk3jspqplipoqyw7x045rl7sdstg3myq2ir"></script>
  2. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  3. <script>
  4. jQuery.noConflict();
  5. (function( $ ) {
  6. $(function() {
  7. tinymce.init({
  8. selector:'textarea',
  9. formats : {
  10. p : {selector : 'textarea', classes : 'full'},
  11. },
  12. content_style: "body {text-align: justify;}",
  13. menubar:true,
  14. statusbar: false,
  15.  
  16. });
  17. });
  18. })(jQuery);
  19.  
  20.  
  21. </script>
  22.  
  23. <textarea id='tinymce' class='mce-content-body' name='procedury'></textarea>
  24.  
  25.  
  26.  
  27.  
  28. <table id="procedury" class="table table-striped">
  29. <tbody>
  30. <tr><td class="text-center">
  31. <span>przejaĹ&#8250;nienia mogÄ…ce sugerować prĂłchnicÄ™: </span>
  32. <span>kamieĹ&#8222; nazÄ™bny, </span>
  33. <span>zmiany zapalne w okolicy wierzchoĹ&#8218;kĂłw korzeni: </span>
  34. <span>kieszenie kostne w okolicy: </span>
  35. </td></tr>
  36.  
  37. <tr><td class="text-center">
  38. <SPAN>ognisk zapalnych w okolicy wierzchoĹ&#8218;kĂłw korzeni nie stwierdza siÄ™, </SPAN>
  39. <span>brak kieszeni kostnych, </span>
  40. <span>caries profunda primaria kl., </span>
  41. <span>caries profunda secondaria kl., </span>
  42. </td></tr>
  43. </tbody>
  44. </table>
  45.  
  46. <script>
  47. var tinymce = $( ".mce-content-body" );
  48. var procedury = document.getElementById('procedury');
  49. // add one event handler to the table
  50. procedury.onclick = function (e) {
  51. // normalize event
  52. e = e || window.event;
  53. // find out which element was clicked
  54. var el = e.target || e.srcElement;
  55. // check if it's a procedury cell
  56. if (el.nodeName.toUpperCase() == "SPAN") {
  57. // append it's content to the tinymce
  58. //tinymce.value += (el.textContent || el.innerText);
  59. // tinymce.append(el.textContent);
  60. tinyMCE.activeEditor.execCommand('mceInsertContent', false, (el.textContent));
  61. }
  62. }
  63. </script>


teraz wyświetla się pole textarea z tinymce ale klikanie w słowa w spanach nadal nie powoduje wrzucenia tekstu do textarea.

Ten post edytował dentopolis 16.10.2017, 14:07:28
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wziąłeś przykład z dokumentacji, ale użyłeś go odwrotnie. Do środka wrzuciłeś wywołanie tinyMCE, które prawdopodobnie korzysta z $ jako aliasu jakiejś swojej funkcji, a na zewnątrz nadal pozostało wywołanie jQuery.


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Inna sprawa że tinymce ma dowiązanie do jquery. https://www.tinymce.com/docs-3x/reference/T...@jQuery_Plugin/


--------------------
Go to the top of the page
+Quote Post
dentopolis
post
Post #10





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


o nie mogę! działa smile.gif haha

http://www.dentopolis.org/opisywanie.php
dzięki wielkie!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:58