2017-06-18 123 views
0

是我的HTML表單獲取CKEDITOR值使用FORMDATA對象下

<form id='add'> 
<input type="text" name="title"> 
<textarea id="usingckeditor" name="content"></textarea> 
<input type="file" name="file"> 
<button id="save">save</button> 
</form> 

,這裏是我的javascript

$("#save").on('submit',(function(e) { 
$.ajax({ 
    url: "blog/saveblog.php", 
    type: "POST", 
    data: new FormData(this), 
    contentType: false, 
    cache: false, 
    processData:false, 
    success: function(data){ 

    } 
}); 
}) 

我使用新FORMDATA()將數據發送到saveblog.php,和saveblog.php正在上傳圖片並獲取$ _POST ['title']的值,但$ _POST ['content']爲空

如何獲取textarea的內容(即使用ckeditor)?

回答

0

按鈕沒有提交事件,您必須將提交事件綁定到表單,並且您必須阻止表單提交,因爲您正在使用ajax發佈數據。
CKEditor的管理自己的內容,所以它不是在textarea的,你可以通過在CKEditor的實例

<form id='add'> 
    <input type="text" name="title"> 
    <textarea id="usingckeditor"></textarea> 
    <!-- remove name attribute so it will not pollute form data object --> 
    <input type="file" name="file"> 
    <button id="save">save</button> 
</form> 
$("#add").on('submit',(function(e) {// attach form to submit event 
    e.preventDefault(); //prevent the form from submitting 
    var data = new FormData(this); 
    //add the content 
    data.append('content', CKEDITOR.instances['usingckeditor'].getData()); 
    $.ajax({ 
    url: "blog/saveblog.php", 
    type: "POST", 
    data: data, 
    contentType: false, 
    cache: false, 
    processData:false, 
    success: function(data){ 

    } 
    }); 
}) 
調用 getData()得到它