0

elRTEリッチテキストエディターで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値を送信するためにいくつかの異なる方法を試しましたが、達成できませんでした。

4

2 に答える 2

3

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

しかし、サイトをもう少し詳しく見てみると、必要なデータを簡単に取得できるjavascript apiがあるようです:http://elrte.org/redmine/projects/elrte/wiki/JavaScript_API_EN$('#editor').elrte('val');

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

于 2012-01-06T21:43:22.830 に答える
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);
        }
    });
});
于 2012-01-06T21:50:54.423 に答える