Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] edytor wysiwyg i ajax- zapisuje dopiero za drugim razem zmiany
Forum PHP.pl > Forum > PHP > Frameworki
stachuf11
chodzi o edytorki tyny_mce i FCK przy submit formularza ajaxem,
jest wmontowany edytor wysiwyg, tiny_mce oraz FCK tak samo sie zachowują
gdy ajaxem wywoła się submit formularza,
to wartość z pola, które jest ustawione jako edytorek zapisywana jest poprawnie dopiero przy drugim kliknieciu przycisku zapisz, podczas gdy wartosci z pola textarea lub zwykly input zapisywane są poprawnie , czyli juz przy pierwszym kliknieciu przycisku zapisz,
czy ktos mi pomoże to usunąć, czy ktoś się spotkał z tym problemem?
Stachu


Jak pobrać bierzącą zawartość edytora tinymce lub fck za pomocą kodu js?

nie chodzi o cos takiego
  1. <?php
  2. //kod js
  3.  
  4. var a=$('nazwapola').value;
  5.  
  6. //koniec kodu js
  7. ?>

bo to jest treść po zapisaniu do bazy, a pozniej pobraniu jej z bazy i wstawieniu w pole, tylko chcę pobrać aktualną treść po edycji w edytorku,
sowiq
Skoro masz taki sam problem na dwóch zupełnie różnych edytorach WYSIWYG, to odpowiedź jest prosta - błąd jest w innym miejscu.

Proponuję Ci analizę działania, chociażby bardzo prostą - w funkcji, która pobiera wartości pól formularza (i coś tam dalej robi) daj np.:
Kod
var tresc = $('id_elementu').value;
alert(tresc);
Jeśli okaże się, że wartość pobierana jest prawidłowo, to jesteś o krok dalej i możesz sprawdzić poprawność kolejnej funkcji, aż przeanalizujesz wszystko.
Ja bym też zajrzał do konsoli JS (pod FF).

Co do dostawania się do pól, najlepszy sposób jest taki, jaki opisałeś. Są jeszcze podobne, typu:
Kod
<form name="form1" [...] >
   <input name="input1" [...]>
   [...]
</form>


=>
var tresc = document.form1.input1.value;
, ale nie wiem czym one się w praktyce różnią od strony wykonywania rzez przeglądarkę. Jeśli getElementById() nie działa, to powyższa metoda też raczej nie powinna (pod warunkiem, że poprawnie wywołujesz getElementById() winksmiley.jpg ).

PS. Czy tiny_mce nie ma wbudowanych funkcji do obsługi zapisu via Ajax?
stachuf11
kod
  1. <?php
  2. //js
  3. var a= $('nazwapola').value
  4.  
  5. //js
  6. ?>


działa prawidłowo dla innych poł (nie wysiwyg), w wysiwyg po zalodowaniu strony, jak cos sobie napiszesz, i chcesz pobrac wartosc za pomocą js,
to zmiany nie sa widoczne, widziana jest stara wartosc, zawartosc edytora wysiwyg w js pobiera sie inaczej (dla kazdego edytorka inny sposób) nie pamietam jak
a przykłady

  1. <?php
  2. echo javascript_tag(" var a= tinyMCE.activeEditor.selection.getContent({format : 'text'});
  3. ?>


cos tu w symfony chyba nie działają, nie wiem dlaczego
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.