jQuery,用ajax发送富文本编辑器的textarea值?

时间:2012-01-06 21:37:48

标签: jquery rich-text-editor elrte

我无法在 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值,但无法实现。

2 个答案:

答案 0 :(得分: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

您可能遇到的另一个问题是,您目前正在通过GET(默认方法)执行 ajax 请求,但由于描述值可能非常大,因此可能对于URL的最大长度限制来说太大了。我建议您使用POST而不是GET代替您的ajax请求。即:键入:“POST

答案 1 :(得分: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);
        }
    });
});