Не может сохранить значение summernote в базе данных, оно возвращает [объект Object]

Я пытаюсь сохранить 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 ..................";
}

1

Решение

Вы должны заменить $('textarea[name="description"]').html($('.summernote').code() с $('textarea[name="description"]').val()

2

Другие решения

Просто сделайте $ («# description»). Code (); с Summernote. Функция сама будет искать значение, не нужно указывать полный путь juste, корень textarea / div.

0

У меня была такая же проблема с использованием 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>
0

Просто передайте класс редактора summernote своей текстовой области, а затем выберите значение сообщения, используя имя текстовой области.

Например:

<textarea name="description" class="full-editor"> </textarea>

затем:

$description = $_POST['description'];
0
По вопросам рекламы [email protected]