2013-09-04 3 views
2

Я, кажется, не могу получить значение от моего ckeditior, любые идеи, в которых я ошибаюсь?Значение Ckeditor и JQuery

<textarea class="ckeditor" id="Source"></textarea> 
<a href="javascript:void(0);" onclick="SendPreview()" class="pOrange"> Send</a> 
function SendPreview() { 
     var value = CKEDITOR.instances['Source'].getData(); 
     var model = { EmailBody: Source, EmailTo: "[email protected]", EmailSubject: $(".Subject").val() }; 
     var request = $.ajax({ 
      url: '/Campaign/SendPreviewEmail', 
      type: 'POST', 
      dataType: 'JSON', 
      data: { model: JSON.stringify(model) }, 
      cache: false, 
      success: function (data) { 
       var dataAsString = JSON.stringify(data); 
      } 
     }); 
    } 
+0

$ ("# ckeditior containerid") Вал();. –

ответ

8

Что у вас есть дела, проблема в том, что вы устанавливаете значение CKEditor переменной value, но с использованием Source в вашем model. Попробуйте это:

var value = CKEDITOR.instances['Source'].getData(); 
var model = { 
    EmailBody: value, // <-- Change this 
    EmailTo: "[email protected]", 
    EmailSubject: $(".Subject").val() 
}; 
+0

Ta, продолжайте получать «http: // localhost: 5365/Campaign/SendPreviewEmail 500 (Internal Server Error)» tho, это потому, что его html в значении? –

+0

Да, я бы так подумал. Если вы используете ASP MVC, вам нужно поместить атрибут '[ValidateInput (false)]' в действие вашего контроллера. Если вы используете другие технологии, я уверен, что есть похожие методы, но я не знаком с ними. –

2

Проверьте ниже, это может помочь вам получить ваше решение

var value = CKEDITOR.instances['Source'].getData(); 

    //or 
    $('#Source').ckeditor(function(textarea){ 
     $(textarea).val(); 
    }); 
Смежные вопросы