我尝试使用 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 ..................";
}
答案 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>