我无法在 elRTE 富文本编辑器中使用ajax发布textarea值。
编辑器演示页面如下所示;
我使用下面的代码;
$.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值,但无法实现。
答案 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()函数
$("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);
}
});
});