无法将summernote值存储到数据库中,它返回[object Object]

时间:2015-05-21 20:48:50

标签: php jquery summernote

我尝试使用 ajax / jquery summernote 值存储到数据库中,但它只是将此值发送到数据库字段---- - > [object 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 ..................";
    }

4 个答案:

答案 0 :(得分:2)

您应该将$('textarea[name="description"]').html($('.summernote').code()替换为$('textarea[name="description"]').val()

答案 1 :(得分:1)

只需将summernote编辑器的类传递给textarea,然后使用textarea名称选择post值。

例如:

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

然后:

$description = $_POST['description'];

答案 2 :(得分:0)

只需做$(&#34; #description&#34;)。code();与summernote。函数将自己搜索值,而不需要指示完整路径juste,textarea / div根。

答案 3 :(得分:0)

我使用带有ajax形式的MVC 5.2.3 / Razor一直遇到同样的问题。截至夏令营0.8.1,建议使用$("#mysummernote").summernote('code'),但这不起作用。它会为您提供<div>,有时候<span>全部包含在[ ]中,并附有您的夏令营文字。这使它被识别为一个对象。

除非有一些使用它的技巧,否则当更新到数据库时,它会使summernote变得痛苦,因为您需要解析文本。话虽如此,我找到了一个解决方案。如果有人有更好的工作解决方案,请告诉我。

$("#mysummernote").destroy();    // This updates it for some reason.
$("#mysummernote").summernote('code').children().prop('outerHTML');

因此,如果您在夏令营中的文字是

  • 我的文字

上面的jQuery应该返回

<ul><li>my text</li></ul>