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



我无法在elRTE富文本编辑器中使用ajax发布文本区域值。

编辑器演示页面如下所示;

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

只要快速浏览一下您的演示页面,我就会注意到您的#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的最大长度限制来说可能太大。我建议您的ajax请求使用POST而不是GET。Ie:类型:"POST"

我可以看到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);
        }
    });
});

相关内容

  • 没有找到相关文章

最新更新