gpt4 book ai didi

javascript - 在 DB 中保存 summernote

转载 作者:可可西里 更新时间:2023-11-01 08:09:52 25 4
gpt4 key购买 nike

我在使用 ajax 在数据库中保存 summernote 值时遇到问题,但是当我不使用 ajax 时,一切正常。

说清楚。

<?php
include 'db.php';
$db=new db;

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
if($_POST['act']=='save'){
$content=$_POST['content'];
$id=25;

$query="UPDATE content SET content=? WHERE id=?";
$db->execquery($query, 'si', array($content, $id));
echo json_encode(array("response"=>'success'));
exit();
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>summernote</title>
<!-- include jquery -->
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

<!-- include libraries BS3 -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css" />
<script type="text/javascript" src="//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script>

<!-- include summernote -->
<link rel="stylesheet" href="../dist/summernote.css">
<script type="text/javascript" src="../dist/summernote.js"></script>

<script type="text/javascript">
$(function() {
$('.summernote').summernote({
toolbar: [
// [groupName, [list of button]]
['style', ['bold', 'italic', 'underline', 'clear']],
['font', ['strikethrough', 'superscript', 'subscript']],
['fontsize', ['fontsize']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']]
]
});

$('form').on('submit', function (e) {
e.preventDefault();

content=$('.summernote').summernote('code');
data='act=save&content='+content;
$.ajax({
type: "POST",
dataType: "JSON",
data: data,
})
.fail(function(e){
alert(e.response);
})
.done(function(data){
if(data.response=='success'){
alert('success!');
}
});
});
});
</script>
</head>
<body>
<form action="#" novalidate>
<div class="form-group">
<label for="input">Text</label>
<textarea class="form-input" id="input"></textarea>
</div>
<div class="form-group">
<label for="contents">Contents</label>
<textarea name="text" class="summernote" id="contents" title="Contents"></textarea>
</div>
<button type="submit" class="btn btn-default">submit</button>
</form>
</body>
</html>

无论如何,当我在 summernote 中键入简单文本时,值会被保存,但是当我从 msword 粘贴一些文本时,保存的值会被剪切。

我尝试了一些方法,当我按下提交时,我还将 summernote 值放入一个额外的文本区域中,然后当我将这些值手动粘贴到 DB 中时,一切都很好。我还尝试复制代码 View 值,然后手动粘贴到数据库中,这也很好。请帮忙。

提前致谢!

最佳答案

我遇到了同样的问题,我用以下方法修复了它:

Javascript

content = encodeURIComponent($('.summernote').summernote('code'));

PHP

urldecode($_POST[content])

关于javascript - 在 DB 中保存 summernote,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41155617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com