2015-03-10 5 views
10

Может ли кто-нибудь помочь мне со значением по умолчанию textarea для Summernote? Редактор выглядит правильно на странице (я могу изменить текст с помощью интерфейса), но POST не работает на основе моего понимания.Каково значение textarea по умолчанию для Summernote?

Я пробовал различные переменные POST, но ни один из них не кажется правильным. Примерами являются summernote, note-codable и text-area. Последние два пришли из summernote.js. JQuery - это не то, с чем у меня много опыта, поэтому, пожалуйста, детка.

Это то, что я использую.

$('#summernote').summernote({height: 300}); 
var sHTML = $('#summernote').code(); 

и

<div name="summernote" id="summernote"><?php echo $news_body; ?></div> 

Я также попытался строки ниже отдельно в попытке изменить имя в текстовой content:

var sHTML = $('#summernote').code(); 
$('#summernote').code(); 
var content = $('textarea[name="content"]').html($('#summernote').code()); 
$('textarea[name="content"]').html($('#summernote').code()); 
var sHTML = $('textarea[name="content"]').html($('#summernote').code()); 
var textareaValue = $("#content").code(); 
$("summernote").code(html); 
+0

Это оказалось очень простым решением. Корень путаницы - это документация, в которой говорится об использовании div. Вместо этого используйте текстовую область. Хотя summernote динамически создает текстовую область, все равно сделайте это. Это сработает. – Maelish

ответ

37

Это оказалось очень простым решением. Корень путаницы - это документация, в которой говорится об использовании div. Вместо этого используйте текстовую область. Хотя summernote динамически создает текстовую область, все равно сделайте это. Это сработает.

4

я нашел рабочий пример использования Summernote с php делает форму POST here.

Это немного запутанно, поэтому я объясню, что происходит.

Прежде всего вам нужно добавить текстовое поле, которое будет контейнером для содержимого сообщения. В примере есть один, называемый «контент». Текстовое поле удваивается как контейнер для редактора summernote, но вы также можете легко использовать скрытую текстовую область и использовать div для контейнера summernote.

Чтобы получить данные из summernote в текстовое поле, вам нужно вызвать функцию .code() элемента summernote во время POST. В примере это делается путем установки обработчика onsubmit на функцию (называемую «postForm» в примере), которая находит элемент summernote, получает кодированный вход и устанавливает строку кодировки как html текстового поля.

0

Попробуйте это:

var sHTML = $('.summernote').summernote('code') 
+2

Хотя это может ответить на вопрос, лучше объяснить существенные части ответа и, возможно, в чем проблема с кодом OPs. – pirho

0

Summernote строит свою собственную область DOM, когда он инициализируется, даже если вы используете <textarea> это разметка использует <div> с contentEditable атрибутом для редактируемой области, который кстати, это класс note-editable.

Если вы еще этого не сделали, я настоятельно рекомендую проверить страницу https://summernote.org/deep-dive/ на наличие доступных функций API.

Смежные вопросы