2016-03-04 2 views
-1

Может ли кто-нибудь сказать мне, как я могу сериализовать содержимое текстового редактора tinymce с помощью метода formcollection.serialize? Я попытался с помощью:текстовый редактор tinymce с formcollection serialize

tinyMCE.init({ 
    selector: "textarea" 
}); 


$("#btnEmail").click(function() {   
    tinyMCE.triggerSave(); 
    $.ajax({ 
     url: '@Url.Action("Email")', 
     type: "POST", 
     data: $('#emailform').serialize(),// + "&emailContent=emailContent", 
     // data: data, 
     dataType: "json", 
     traditional: true 
    }); 
}); 
<textarea name="emailContent" id="emailContent" style="width: 100%" ></textarea> 

общественного ActionResult Email (данные FormCollection) { Еогеаспа (ключ уага в data.AllKeys) { значение переменного = данные [ключ]; } строка Content = data ["emailContent"]; }

+1

Какие проблемы вы с? Какие ошибки вы получаете? –

+0

Прежде всего спасибо за ваш ответ ...... на самом деле я не получаю никаких ошибок, но проблема в том, что параметр Formcollection моего контроллера не может отображать содержимое текстового поля ........, но все другое значение элемента управления проходит через параметр Formcollection. Спасибо – moinulmithu

+0

Что заставляет вас думать, что значение textarea не сериализуется? –

ответ

0

После долгих попыток наконец я решил проблему совершенно. В моем коде было две вещи: 1. подать форму перед вызовом ajax и 2. добавить атрибут [Validateinput (false)] чуть выше моего контроллера. Вот окончательное решение ниже:

// Controller 
    [ValidateInput(false)] 
    public ActionResult Email(FormCollection data) 
    { 
     foreach (var key in data.AllKeys) 
     { 
      var value = data[key]; 
     } 
     string Content = data["emailContent"]; 
    } 

Javascript:

tinyMCE.init({ 
     selector: "textarea"   

    }); 

// ======== Email Button

 $("#btnEmail").click(function() { 
     tinyMCE.triggerSave(true, true); 
     $('#emailform').submit(); 
     $.ajax({ 
      url: '@Url.Action("Email")', 
      type: "POST", 

      data: $("#emailform").serialize(), 
      dataType: "json", 
      traditional: true 

     }); 
    }); 

//========= HTML 
<textarea name="emailContent" style="width:100%"></textarea> 
Смежные вопросы