使用ckeditor、Ajax获取textarea的值



我有一个博客的表单。它可以很好地使用ajax,无需刷新,只需序列化和提交数据。然后我决定使用ckeditor 5,不提交文本区域的值。

我的ajax脚本

$(document).ready(function(){
$("#create").click(function(event) {
event.preventDefault();
var form = $("#mytest");
var formData = new FormData($("#mytest")[0]);
$.ajax({
url  : "test3.php",
type : "POST",
cache: false,
contentType : false,
processData: false,
data: formData,
success:function(response){
$(".test").html(response);
}
});
});
});

我的html表单

<form id="mytest" action="">
<input type="number" name="number" value="">
<br>
<textarea class="editor" name="textarea"></textarea>
<input type="submit" id="create" value="submit content">
</form>
<p class="test"></p>

我的php代码

$textarea = $_POST["textarea"];
$number = $_POST["number"];
echo $textarea;
echo $number;

CKEditor将文本区域包装在自己的html标记中,因此为了获得文本区域文本,请尝试:

$('.ck-content p').text();

在早期的CKEditor版本中,我做

$('iframe').content().find('body').text();

给文本区域一个mycontent的id。

$(document).ready(function(){
$("#create").click(function(event) {
event.preventDefault();
$('#myContent').val($('.ck-content p').text());
var form = $("#mytest");
var formData = new FormData($("#mytest")[0]);
$.ajax({
url  : "test3.php",
type : "POST",
cache: false,
contentType : false,
processData: false,
data: formData,
success:function(response){
$(".test").html(response);
}
});
});
});

我就是这么做的…

最新更新