2012-01-06 4 views
0

ajaxでテキストエリアの値をelRTEリッチテキストエディタに投稿できませんでした。jQuery、ajaxでリッチテキストエディタのtextarea値を送信しますか?

エディタのデモページは次のとおりです。

http://elrte.org/demo

と、私は以下のコードを使用します。

$.ajaxSetup({ 
    type: "POST", 
    url: "forms.php", 
    cache: false, 
    dataType: "html" 
}); 

$("input.add").live("click", function(){ 
    $.ajax({ 
     data: {action: 'add', tag: $('input.tag').val(), description: $('#editor').val()}, 
     success: function(data){ 
      $("#message").html(data); 
     } 
    }); 
}); 

私はtextareaの値を送信するいくつかの方法を試していますが、達成できませんでした。

答えて

3

あなたのデモページを見てみると、#editor "textarea"は実際にはテキストエリアではなく、DIVがテキストエリアのように見えることがわかりました。だから$('#editor').val()は役に立たない。 $('#editor').html()を代わりに使用することをお勧めしますが、#editorは実際のエディタdivではありません。 Shyjuの答えは、実際のdivを選択して.html()を使用して連絡先を取得することで正しいものになります。

しかし、私は少しだけ、さらにサイトを見て、あなたは簡単に必要なデータを取得することができますJavaScript APIのがあるように表示されます。$('#editor').elrte('val'); http://elrte.org/redmine/projects/elrte/wiki/JavaScript_API_EN

あなたに実行することがもう一つの問題がありますajaxリクエストをGET(デフォルトの方法)で行っていますが、説明値が非常に大きいため、URLの最大長制限には大きすぎる可能性があります。あなたの代わりにGETの代わりにPOSTを使用することをお勧めします。すなわち:タイプ: "POST"

+0

これは私にとっての答えです:)私は自分のポストを編集しました、私はすでにajaxSetupでajaxでpostメソッドを使用しましたが、とにかく気付いてくれてありがとう。 – tewoos

0

私はdivに "el-rt-structure"という名前のクラスがあることがわかりました。それを使用して要素を選択し、html()関数を使用して内部HTMLを取得してみてください。

$("input.add").live("click", function(){ 
    var textAreContent=$(".el-rte-structure").html(); 
    $.ajax({ 
     data: {action: 'add', tag: $('input.tag').val(), description: textAreContent}, 
     success: function(data){ 
      $("#message").html(data); 
     } 
    }); 
}); 
+0

私はこの方法で試しましたが、うまくいきませんでした。これはiframeのためだと思う。ありがとう。 – tewoos

関連する問題