Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] jHtmlArea WYSIWYG
Forum PHP.pl > Forum > XML, AJAX
grzegorz_g
hej,

chciałem zastosować jHtmlArea - WYSIWYG HTML Editor
wszystko działa jak należy tylko nie wiem w jaki sposób przesłać tekst z textarea na kolejną stronę POST'EM
by móc wysłać go emailem

jest na to jakieś proste rozwiązanie
Rid
Czeba zobaczyć co w kodzie źródłowym jest generowane,pewnie jakiś hiddenfield i do niego trzeba się odnosić.
grzegorz_g
jest tylko coś takiego przy buttonie

  1. onclick="alert($('#txtDefaultHtmlArea').htmlarea('toHtmlString'));"


ale to mi wrzuca w alert a ja to chce przesłać przez formularz do następnej strony by móc to wysłac emailem
!*!
To wyjślij to .ajax() lub .post() do pliku php.
zaajcu
  1. $text = $('#txtDefaultHtmlArea').htmlarea('toHtmlString')
  2. $.post('adres strony',{text: $text},function(dane){$dane = $(dane)});

np coś takiego po kliknięciu weźmie Ci wyśle dane postem do strony która tam podasz, w funkcji masz zmienną 'dane' w niej będziesz miał to co ci zwróci strona na która to prześlesz wink.gif
grzegorz_g
mam taki formularz

  1.  
  2. <form action="/" id="searchForm">
  3. <input type="hidden" name="a" value="1" />
  4. <textarea id="txtDefaultHtmlArea" cols="50" rows="15" name="tekst"></textarea>
  5. <input type="submit" value="send" />
  6. </form>
  7.  
  8.  
  9.  
  10. /* attach a submit handler to the form */
  11. $("#searchForm").submit(function(event) {
  12.  
  13.  
  14. /* Send the data using post and put the results in a div */
  15. $text = $('#txtDefaultHtmlArea').htmlarea('toHtmlString')
  16. $.post('index.php?a=1',{text: $text},function(dane){$dane = $(dane)});
  17.  
  18.  
  19.  
  20. });
  21.  


i niestety nie przenosi tych danych , jak odczytać je na tej drugiej stronie
zaajcu
  1.  
  2. <form action="/" id="searchForm">
  3. <input type="hidden" name="a" value="1" />
  4. <textarea id="txtDefaultHtmlArea" cols="50" rows="15" name="tekst"></textarea>
  5. <input type="submit" value="send" />
  6. </form>
  7.  
  8.  
  9.  
  10. <script>
  11. /* attach a submit handler to the form */
  12. $("#searchForm").submit(function(event) {
  13.  
  14.  
  15. /* Send the data using post and put the results in a div */
  16. $text = $('#txtDefaultHtmlArea').htmlarea('toHtmlString')
  17. $.post('index.php?a=1',{text: $text},function(dane){
  18. $dane = $(dane)
  19. $('#wynik').empty();
  20. $('#wynik').append($dane);
  21.  
  22. });
  23.  
  24.  
  25.  
  26. });
  27. </script>
  28.  
  29.  
  30. <div id="wynik">
  31.  
  32. </div>



w div'ie bedziesz miał to co wyświetlił by ci normalnie index.php?a=1
grzegorz_g
przekopiowałem Twój kod na żywca i bez efektu sad.gif
luck
Strzelam, ale jakby takim banałem spróbować, bez Ajaxa?
Kod
onclick="$('#twojePoleTypuHidden').val($('#txtDefaultHtmlArea').htmlarea('toHtmlString'));$('#searchForm').submit();"

Oczywiście do formularza musiałbyś dodać odpowiednie ukryte pole.
zaajcu
dobra to od nowa

  1. <script>
  2. $(function() {
  3. $('#przycisk').click(function(){
  4.  
  5. $text = $('#txtDefaultHtmlArea');
  6. $.post('index.php?a=1',{text: $text},function(dane){
  7. $dane = $(dane);
  8. $('div#wynik').empty();
  9. $('div#wynik').append($dane);
  10. });
  11.  
  12. });
  13.  
  14. });
  15. </script>
  16.  
  17. <div id="wynik">
  18. </div>


Gdzieś umieść sobie jeszcze ten guzik
  1. <button id="przycisk">OK</button>


teraz po kliknieciu na ten przycisk wywoła Ci się funkcja post która prześle dane do tej strony index.php ale jej nie wyswietli strona zostanie przetworzona przez serwer a to co miała by normalnie wyświetlic na stronie zostanie zapisane w zmiennej $dane nastepna linijka czysci diva a kolejna wyswietla w nim dane
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.