Я пытаюсь сохранить summernote значение в база данных с Ajax / JQuery но это просто отправить это значение в поле базы данных ——> [Объект Object].
HTML:
<div class="form-group">
<label for="description">Desciption</label>
<textarea name="description" id="description" class="summernote"></textarea>
</div>
<div class="text-right">
<a href="#" class="btn btn-primary" id="publish">Publier</a>
</div>
Js файл:
$("#publish").on('click', function(e){
e.preventDefault();
var description = $('textarea[name="description"]').html($('.summernote').code());
$.ajax({
url : 'ajax/newpost.php',
data : 'description=' + description,
success : function(data){
alert(data);
location.reload();
}
});
});
newpost.php
require_once('../config/connect.php');
$description = $_GET['description'];
$stmt = $PDO->prepare("INSERT INTO `forum_posts` (`description`) VALUES(?)");
$stmt->execute(array($description));
if($stmt){
echo "done ......................";
}else{
echo "error ..................";
}
Вы должны заменить $('textarea[name="description"]').html($('.summernote').code()
с $('textarea[name="description"]').val()
Просто сделайте $ («# description»). Code (); с Summernote. Функция сама будет искать значение, не нужно указывать полный путь juste, корень textarea / div.
У меня была такая же проблема с использованием MVC 5.2.3 / Razor с формой ajax. Начиная с Summernote 0.8.1, рекомендуется использовать $ ( «# Mysummernote»). Summernote ( ‘код’), но это не работает Это дает вам <div>
а иногда дополнительно <span>
все заключено в [ ]
с вашим текстом летней заметки. Это заставляет это быть признанным как объект.
Если нет какой-то хитрости в использовании этого, то при обновлении базы данных возникает проблема с летним пометкой, так как вам потребуется анализ текста. Это сказанное, я нашел работу вокруг. Если у кого-то есть лучшее, рабочее решение, пожалуйста, дайте мне знать.
$("#mysummernote").destroy(); // This updates it for some reason.
$("#mysummernote").summernote('code').children().prop('outerHTML');
Так что, если ваш текст в летней заметке
jQuery выше должен вернуться
<ul><li>my text</li></ul>
Просто передайте класс редактора summernote своей текстовой области, а затем выберите значение сообщения, используя имя текстовой области.
Например:
<textarea name="description" class="full-editor"> </textarea>
затем:
$description = $_POST['description'];