2017-02-17 89 views
0

我正在嘗試完成此操作。它確實有效,但我必須在tinyMCE值存儲之前提交表單兩次。在提交給php之前保存tinyMCE值

$("form#data").on('submit',function(e){ 
     e.preventDefault(); 
     tinymce.init({ 
      selector: "textarea", 
      statusbar: false, 
      setup: function (editor) { 
       editor.on('change', function() { 
        editor.save(); 
       }); 
      } 
      }); 

     var formData = new FormData($(this)[0]); 

     $.ajax({ 
      url: 'includes/new_post.php', 
      type: 'POST', 
      data: formData, 
      async: false, 
      success: function (data) { 
       alert(data) 
      }, 
      cache: false, 
      contentType: false, 
      processData: false 

     }); 

     return false; 
    }); 

代碼的阿賈克斯部分作品完美它只是像明智的其他形式,但TinyMCE的文本區域的形式第一次就不會提交。如果我點擊兩次按鈕,那麼它將保存請協助。

回答

0

看起來像你在錯誤的地方進行初始化。

您第一次提交表單時,tinymce被初始化。相反,你應該在頁面加載時初始化它。

+0

我試圖讓,但它沒有運氣同樣的問題。 – scubby3

0

你應該做這樣的:

tinymce.init({ 
    selector: "textarea", 
    statusbar: false, 
    setup: function (editor) { 
     editor.on('change', function() { 
      editor.save(); 
     }); 
    } 
}); 

$("form#data").on('submit',function(e){ 
    e.preventDefault(); 

    var formData = new FormData($(this)[0]); 

    $.ajax({ 
     url: 'includes/new_post.php', 
     type: 'POST', 
     data: formData, 
     async: false, 
     success: function (data) { 
      alert(data) 
     }, 
     cache: false, 
     contentType: false, 
     processData: false 

    }); 

    return false; 
});