Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Tinymce textarea verisini jQuery Ajax ile post ettiğimde boş veri dönüyor

tinymce editörü textarea'da gösterdikten sonra, textarea 'daki veriyi ajax olarak postladığımda boş veri iletiliyor. tinymce'yi editörü textarea'dan kaldırdığımda ise normal şekilde post edebiliyorum

<form action="javascript:void(0)" method="post" id="formalani">
<textarea name="message" id="message"></textarea>
<button onclick="$.ajax({
           type: "POST",
           url: "hedef.php",
           data: $('#formalani').serialize()
           success: function(ajaxCevap){
             alert(ajaxCevap);
           }      
         });"></button>
</form>


hedef.php'de ise sadece print_r($_POST); yazarak post ile gelen verilere bakıyorum. Boş veri geliyor. Herhangi bir fikri olan ?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • necmettin adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    80 cevap - 0 soru
    serialize()'dan sonra virgül olması gerekmiyor muydu?
    • yunusy adlı üyenin fotoğrafı yunusy
      Kodda hata olabilir, bilgisayarımdaki kodu kopyala yapıştır yapamadım ama dediğiniz doğru, ondan sonra virgül olması lazım. Başka yerde de hata olabilir ama kendi yazdığım kodlar çalışıyor. Buraya ezberden yazdığım için problem olmuş.
      9 yıl önce yazılmış
    • necmettin adlı üyenin fotoğrafı necmettin
      Boş veri mi geliyor? Yani alert()'in sonucunda ekrana array() diye uyarı mı geliyor, yoksa hiçbirşey gelmiyor mu?
      $.ajax()'dan önce sayfa içerisine oluşturacağın geçici bir div içine $(#..).serialize() sonucunu bastırdığında ne alıyorsun?
      9 yıl önce yazılmış
    • yunusy adlı üyenin fotoğrafı yunusy
      alert($('#formalani').serialize) yaptığımda, postlanacak veriyi doğru şekilde görüyorum(escape edilmiş olarak).
      Ama Ajax ile dönen veriyi alert(ajaxCevap) şeklinde gösterdiğimde boş bir sonuç çıkıyor
      Bir array geliyor ama 'message=> ' şeklinde veri geliyor, yani içeriği boş.Tinymce editörü kaldırıp aynı şekilde post ettiğimde ise veri normal görünüyor
      9 yıl önce yazılmış
    • necmettin adlı üyenin fotoğrafı necmettin
      Biraz araştırdım. Anladığım kadarıyla problem şu:
      TinyMCE editörü metni normalde textarea içinde değil ayrı bir yerde tutuyor. Form submit() olunca o ayrı tuttuğu veriyi tinyMCE.triggerSave() ile ilgili textarea içine koyuyor.

      Senin yaşadığın probleme dönersek: Sen formun submit() olayını kapattığın için triggerSave() hiç çalışmıyor.

      Çözüm: $.ajax()'dan önce tinyMCE.triggerSave() koymak.
      9 yıl önce yazılmış

Cevaplar

  • uls adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    65 cevap - 10 soru
    TinMCE direkt olarak textarea'ya yazmadığı için böyle bir problem oluşuyor. Bu işlemi elle tetiklemek için onclick kısmına öncelikle şu kodu yerleştirmelisin;
    tinyMCE.triggerSave();


    Şu şekilde denedim çalışıyor;
    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
    <script type="text/javascript">
    	tinyMCE.init({
    		mode : "textareas",
    		theme : "simple"
    	});
    </script>
    </head>
    <body>
    
    <form action="javascript:void(0)" method="post" id="formalani">
    <textarea name="message" id="message"></textarea>
    <button id="dugme">düğme</button>
    </form>
    
    <script>
    $('#dugme').click(function() {
    	tinyMCE.triggerSave();
    	$.ajax({
           type: 'POST',
           url: 'sayfa.php',
           data: $('#formalani').serialize(),
           success: function(ajaxCevap){
    		alert(ajaxCevap);
           }      
       });
    });
    </script>
    </body>
    

  • kurtitasarim adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    30 cevap - 9 soru
    madem öyle kardeşim bende sana bir örnek vereyim :)
    encodeURIComponent(tinyMCE.get('text_area').getContent());
    

    bununla yazını yollayı denermisin bende sorunsuz çalışıyor ajax kullanıyorum bende
  • rizeligenc89 adlı üyenin fotoğrafı
    6 yıl önce yazılmış
    2 cevap - 3 soru
    4 Yıl öncesinde sorulmuş bu soru ve bu soruya yazılmış cevaplar beni büyük bir sorundan kurtardı.

    Cevap veren arakdaşlara sonsuz teşekkürlerimi sunarım. :)