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');

您可能遇到的另一个问题是您当前正在通过(默认方法)执行ajax请求GET,但由于描述值可能非常大,因此对于 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 回答