【问题标题】:jQuery, send textarea value of rich text editor with ajax?jQuery,用ajax发送富文本编辑器的textarea值?
【发布时间】:2012-01-06 21:37:47
【问题描述】:

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

【问题讨论】:

    标签: jquery rich-text-editor elrte


    【解决方案1】:

    快速浏览一下您的演示页面,我注意到您的#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 请求,但由于描述值可能非常大,因此它也可能太大big 用于 URL 的最大长度限制。我建议您使用 POST 而不是 GET 来代替您的 ajax 请求。即:输入:“POST

    【讨论】:

    • 这就是我的答案:)。我编辑了我的帖子,我已经使用 ajaxSetup 在 ajax 中使用了 post 方法,但还是感谢您的注意。
    【解决方案2】:

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

    【讨论】:

    • 我试过这种方式,但没有奏效。我认为这是因为 iframe。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多